如何将我的徽标放在没有白色区域的地图上?

How to place my logo on my map without white fields?

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

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

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

        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;

我也尝试只绘制位图来完成此操作,但后来我看不到将其放置在地图上的任何可能性。该地图是一个 'dominant' 控件。

任何help/suggestions?

谢谢。

您不需要在地图上放置图片框来绘制徽标。

最简单的方法是覆盖地图 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 格式。