Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: BitBlt helposti

kaviaari [12.07.2004 08:18:05]

#

Kaksoispuskurointi on mielestäni antin oppaan pohjalta aloittelialle aivan mahdoton pala nieltäväksi. Tässä homma vähän helpommin.

Formille tarvitset:
- pBuffer picturen, scalemodet kolmoseksi
- pShow picturen, scalemodet myös kolmoseksi
- Timer1 timerin, intervalli vaikkapa 10
- pMask picturen, laita tähän maskin kuva, scalemode kolme
- pPic picturen, laita tähän itse kuva, scalemodet kolme

Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC 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 dwRop As Long) As Long ' Blittaamisen API funkkari


Private Sub Timer1_Timer()
    pBuffer.Cls     ' Tyhjennetään puskuri vahoista moskista

    Dim z As Long   ' Paikka jonne bitblt:n paluuarvot tungetaan
    z = BitBlt(pBuffer.hDC, 50, 100, 64, 64, pMask.hDC, 0, 0, vbSrcAnd)     ' Piirretään maski
    z = BitBlt(pBuffer.hDC, 50, 100, 64, 64, pPic.hDC, 0, 0, vbSrcInvert)   ' Piirretään kuva
    ' x = 50, y=100, leveys=64, korkeus=64

    z = BitBlt(pShow.hDC, 0, 0, pShow.Width, pShow.Height, pBuffer.hDC, 0, 0, vbSrcCopy)    ' Hutmitaan kuva esille puskurista
End Sub

Blaze [13.07.2004 13:24:17]

#

Höh, miksei tätä hyväksytty?

tuomas [19.07.2004 11:44:32]

#

olisi ihan kätsy aloittelijoille.

Vastaus

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

Tietoa sivustosta