Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: StretchBlt

tuomas [12.07.2004 17:13:45]

#

Ai mitä tällä tekee? No kuvan zoomaus kumpaakin suuntaan luulisi ainakin onnistuvan...

'tavallista kuvan venyttelyä varten
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
'näiden avulla sitten saadaankin jo parempi kuvanlaatu.
Private Declare Function SetStretchBltMode Lib "gdi32" (ByVal hdc As Long, ByVal hStretchMode As Long) As Long
Const STRETCHMODE = vbPaletteModeNone

Public Sub Zoomaa()

Dim z As Long

'tämän avulla saadaan parannettua kuvan laatua.
'jotta näet eron, kokeile ensin vain alemmalla rivillä ja sitten kummillakin.
z = SetStretchBltMode(Form1.Suurennettu.hdc, STRETCHMODE)
'kopsaus ja zoomaus.
z = StretchBlt(Form1.Suurennettu.hdc, 1, 1, 50, 50, Form1.Alkuperainen.hdc, 0, 0, 100, 100, vbSrcCopy)

End Sub

nomic [13.07.2004 13:32:21]

#

tästähän on hyötyä! varsinkin omaan lensflare-efektiin :]
nyt siitäkin saa jopa lensflaren näköisen kun ei kaikki kuvat ole kokoaika samankokoisia :) täytyy koittaa soveltaa ja katsoa mites toimii :>

sooda [13.07.2004 13:45:56]

#

Hieno hommeli!

Metabolix [14.07.2004 16:07:11]

#

En omista VBtä, joten haluaisin tietää mikä arvo "vbPaletteModeNone" on. Siis mikä numero.

Meitzi [14.07.2004 17:51:14]

#

vbPaletteModeNone = 4

Metabolix [14.07.2004 19:08:41]

#

Arvelinkin sitä; antaa tosiaan paljon paremman kuvanlaadun. Tuon takia se ei sitten taida toimia Win95/98/ME -puolella.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta