2015-01-13 4 views
2

У меня проблема с моей картиной. Я хочу поместить его на свою карту, которую я получил в своей программе. Это работает, когда я помещаю свой img в Picturebox, а затем BringToFront();Как разместить мой логотип на моей карте без белых полей?

я хотел бы добавить картинку с этой проблемой, но я только начал на StackOverflow и оленьей коже хватает репутации еще ... :(

Во всяком случае мой IMG получил отображается, но с белыми полями вокруг него. The IMG Я использую doenst есть эти белые вещи вокруг него. Как я могу сделать мой 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; 

Я пытался сделать это с только рисунок растровым Aswell но я не могу видеть любого возможность разместить его на карте. Карта является «доминирующим» контролем.

Любая помощь/предложения?

Thx.

ответ

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.