Vážený příteli, asi dost dobře nechápu, o co Vám přesně jde-pokud máte picturebox nastaven na ZOOM, pak i když změníte velikost původního obrázku, při zobrazení to bude (až na kvalitu) vypadat přece vždy stejně - obrázek se zvětší na maximální rozměr, který nedeformovaný do pictBoxu vleze. Ale jinak, pokud Vám jde o změnu velikosti bitmapy ("převzorkování"), pak to můžete udělat celkem pohodlně přes graphics (pokud k tomu neexistuje nějaká jiná speciální metoda). Nevím, jestli je to to, co potřebujete, ale zkuste třeba:
Public Class Form1
Dim obrazek1 As New Bitmap("d:\obr2.jpg")
Dim obrazek As New Bitmap(200, 150, obrazek1.PixelFormat)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.PictureBox1.Image = obrazek1
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim g As Graphics = Graphics.FromImage(obrazek)
g.DrawImage(obrazek1, New Rectangle(0, 0, obrazek.Width, obrazek.Height), New Rectangle(0, 0, obrazek1.Width, obrazek1.Height), GraphicsUnit.Pixel)
Me.PictureBox1.Image = obrazek
End Sub
End Class
Samozřejmě, ten pixturebox musíte mít nastaven sizemode=normal, jinak změnu neuvidíte.
|