В приведенном выше случае, когда объект «bmp» или «g» выходит за пределы области видимости и собирается мусор, изображение в картинке изменяется. Я думаю, что изображение всегда скопировано. Я попытался bmp.clone, чтобы скопировать изображение в Picturebox, но все же, когда bmp собирает мусор, изображение Picturebox исчезает. В моем случае у меня есть несколько (определенных во время выполнения) таких изображений, которые нужно назначить для созданных во время выполнения картинных ящиков.
Dim bm As New Bitmap("C:\picture.bmp")
Dim thumb As New Bitmap(42, 30)
Dim g As Graphics = Graphics.FromImage(thumb)
g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
g.DrawImage(bm, New Rectangle(0, 0, 42, 30), New Rectangle(0, 0, bm.Width, _bm.Height), GraphicsUnit.Pixel)
pbxHead.Image = thumb.Clone()
g.Dispose()
bm.Dispose()
thumb.Dispose()