Tervehdys kaikille!
Alla kuvattu kysymys koskettaa Visual Basic 5 -ohjelmointia.
Jos teen seuraavasti: Lataan kuvan Pic tai stdPic -tyyppiin
ja laitan kuvan PictureBox-komponenttiin, niin miten saan
kuvan dimensiot, leveyden ja korkeuden, pikseleissä?
Olen asettanut PictureBox-komponentin skaalauksen vbPixels-tilaan, mutta tämä ei riitä.
Tarvittaessa myös laskukaava twip-yksiköistä pikseleiksi
käy; twippeinä leveyden ja korkeuden saa suoraan
.width:llä ja .height:llä.
--
Markus
Aseta skaalaus pikseleiksi, niin pikselimitta löytyy ScaleWidth ja ScaleHeight -ominaisuuksista.
AutoSize pitää olla päällä, muuten ei toimi.
Kiitoksia, tässä ratkaisussa on tosin se huono puoli, että PictureBox-komponentti skaalautuu kuvan koon mukaan, haluaisin pitää komponentin koko ajan samankokoisena.
Kokeilepa kertoimia Screen.TwipsPerPixelX ja Screen.TwipsPerPixelY.
Tässä on yksi ratkaisu:
Dim leveys As Integer, korkeus As Integer Picture1.Picture = LoadPicture("c:\antti\testi.jpg") leveys = Picture1.ScaleX(Picture1.Picture.Width, vbHimetric, vbPixels) korkeus = Picture1.ScaleY(Picture1.Picture.Height, vbHimetric, vbPixels) MsgBox leveys & "x" & korkeus
Toivottavasti tässä ei ole mitään, mikä toimii vasta VB6:ssa.
Kiitoksia todella paljon, sain toimimaan!
Antin ratkaisu toimii myös VB5:ssä suoraan.
Valvoin aikoinaan yhden yön sovellukseni parissa kun yritin
saada ladatun kuvan leveyden ja korkeuden pikseleissä. :-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.