【问题标题】:How to place my logo on my map without white fields?如何在没有白色区域的情况下将我的徽标放在我的地图上?
【发布时间】:2015-11-02 17:11:45
【问题描述】:

我的图片框有问题。 我想把它放在我在程序中得到的地图上。 当我把我的 img 放在一个 Picturebox 中,然后是 BringToFront();

我想添加一张有问题的图片,但我刚从 StackOverflow 开始,还没有足够的声誉...... :(

无论如何,我的 img 已显示,但周围有白色区域。我使用的 img 周围没有这些白色的东西。 我怎样才能使我的图片框透明,以便删除白色字段。

        LogoBox.Location = new Point(size.Width - 340, size.Height - 100);
        LogoBox.Image = Properties.Resources.Troepoet;
        LogoBox.Size = new System.Drawing.Size(250, 40);
        LogoBox.SizeMode = PictureBoxSizeMode.StretchImage;
        LogoBox.BackColor = Color.Transparent;

我也尝试过只绘制位图,但我看不到任何将其放置在地图上的可能性。地图是“主导”控件。

有什么帮助/建议吗?

谢谢。

【问题讨论】:

    标签: image picturebox gmap.net


    【解决方案1】:

    您无需在地图上放置图片框即可绘制您的徽标。

    简单的方法是覆盖地图 OnPainOverlays() 并在地图上绘制任何你想要的东西(标志、文本、任何形状),或者如果你不想继承 GmapControl 的其他方式并通过将 GMapControl 拖放到表单上来处理 Paint() 事件:

    Private Sub GMapControl1_Paint(sender As Object, e As PaintEventArgs) Handles GMapControl1.Paint
        Dim logo As Image = image.FromFile("C:\transparentLogo.png")
        e.Graphics.DrawImage(logo, GMapControl1.Width - logo.Width - 5, 5, logo.Width, logo.Height)
    End Sub
    

    确保将图像设为透明并将其保存为 PNG 格式。

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2021-10-22
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多