Znam da je ovo pitanje pre za VB.NET forum ali tamo definitivno nema ni delić spremnosti za pomoć u poređenju sa ovim forumom (navodno penzionisanog VB6). Kao i sve vas pritisla me je potreba da pređem na .NET platformu i treba da preradim jedan program ranije napisan u VB6 na VB.NET. Polako učim i mučim se. Radi se o sledećem (govorim kako je to bilo rešeno u VB6). Na jednoj formi imam PictureBox neke veličine (nebitno koje). Iz određene kolekcije klasa uzimam podatke koje pretvaram u grafiku na tom PictureBox-u. Očitam vrednosti koje treba da prikažem (npr. 1000 x 1200) vidim koja je veća i na odgovarajući način uradim :
PictureBox1.ScaleHeight = ta vrednost + malo za marginu
PictureBox1.ScaleWidth = ta vrednost + malo za marginu
PictureBox1.Top = na neku marginu kao i .Left svojstvo
i dalje crtam sa "orginalim" vrednostima objekta.
Moje pitanje je kako to sada odraditi u VB.NET-u ?!
Pripremu za crtanje radim na PictureBox kontroli (jer moram da imam crtež svo vreme, bez obzira da li neka forma prelazi preko njega ili ne):
Imports System.Drawing.Drawing2D
....
bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height)
PictureBox1.Image = bmp
G = Graphics.FromImage(bmp)
....
myPath.AddLines(myPoints)
myPath.CloseFigure()
G.DrawPath(pn, myPath)
.....
dalje je problem kako postići ono što sam opisao ranije, jer npr. bmp ima 850 x 720 pixel-a a potrebno mi je da crtam vrednosti od recimo 1000 do 6000 (pixel-a).
G.ScaleTransform(0.2, 0.2) - npr. ne daje dobar rezultat jer nacrtan je samo "deo" crteža pa se i kod skaliranja samo "umanji" taj deo koji je nacrtan.
Bilo kakva ideja bi mi koristila ...