Miten vb:llä määrätään kohta johon kuva "lataantuu" PictureBoxissa?
VB-net ratkaisu tässä:
PictureBox1.Image = New Bitmap(PictureBox1.Width, PictureBox1.Height) Dim Gr As Graphics = Graphics.FromImage(PictureBox1.Image) Dim sourcerect = New Rectangle(0, 0, texture.Width, texture.Height) Dim destrect = New Rectangle (x, y, lev, kork) Gr.DrawImage(texture, destrect, sourcerect, GraphicsUnit.Pixel)
Eli voi scaalata ja rajata kuvaa kuten haluaa.
Texture on .bmp kuva.
Nyt vaatis kyllä käestäpitäen rautalanka version, jos viitsisit hieman tarkentaa..heh
Siis mulla on picture1 ikkuna johon haluaisin vasempaan laitaan ja oikeaan laitaan keskelle kuvat jossa on pystyssä tekstiä.
Picture1.Picture = LoadPicture("tn.jpg") ' tekstiä pitäis saada vasempaan laitaan keskelle
Picture1.Picture = LoadPicture("saf.jpg")' tekstiä oikeaan laitaan keskelle
picture1:sen koko on "top=960, left=420, width=10815, height=9675"
Laitoin ton picture1:sen sisälle kaks erillistä picturepoxsia, jossa ne kuvat oli, mutta ne ei tulostu kirjoittimelle, tarkotus tulostaa kirjoittimelle picture1:sen sisältö ja siinä olisi muun grafiikan lisäksi textiä pystyssä, siis 90 astetta kääntyneenä, en saannut sitä muuten kuin tekemällä ne tekstit kuvana, vai olisko siihen muuta vaihtoehtoa?
tnb:n koodi liittyy selvästikin VB.NETiin. Mutta jos käytät aiempaa versiota, niin lataa kuva ensin toiseen PictureBoxiin ja sitten kopioi se PaintPicture-metodilla oikeaan kohtaan varsinaiseen PictureBoxiin.
http://msdn.microsoft.com/library/default.asp?
'ladataan kuva väliaikaisesti toiseen PictureBoxiin pLataus = LoadPicture("testi.bmp") 'kopioidaan ladattu kuva oikealle paikalleen varsinaiseen PictureBoxiin (x = 100, y = 50) pLopullinen.PaintPicture pLataus, 100, 50
Juu no nyt toimii, kiitos!
Aihe on jo aika vanha, joten et voi enää vastata siihen.