Results 1 to 2 of 2

Thread: Alphablend again

  1. #1

    Thread Starter
    Lively Member Yok's Avatar
    Join Date
    Feb 2001
    Location
    Guangzhou,China
    Posts
    72

    Alphablend again

    What is BlendFlags and AlphaFormat used for?

  2. #2
    jim mcnamara
    Guest
    AlphaBlend is used to display bitmaps with transparency onto a device context - ie, kind of overwrite the original picture.

    From www.allapi.net
    Code:
    'This project requires two picture boxes
    'Both picture boxes should contain a picture
    Private Type BLENDFUNCTION
      BlendOp As Byte
      BlendFlags As Byte
      SourceConstantAlpha As Byte
      AlphaFormat As Byte
    End Type
    Private Declare Function AlphaBlend Lib "msimg32.dll" (ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal hdc As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal lInt As Long, ByVal BLENDFUNCT As Long) As Long
    Private Declare Sub RtlMoveMemory Lib "kernel32.dll" (Destination As Any, Source As Any, ByVal Length As Long)
    Private Sub Form_Load()
        'KPD-Team 2000
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]
        Dim BF As BLENDFUNCTION, lBF As Long
        'Set the graphics mode to persistent
        Picture1.AutoRedraw = True
        Picture2.AutoRedraw = True
        'API uses pixels
        Picture1.ScaleMode = vbPixels
        Picture2.ScaleMode = vbPixels
        'set the parameters
        With BF
            .BlendOp = AC_SRC_OVER
            .BlendFlags = 0
            .SourceConstantAlpha = 128
            .AlphaFormat = 0
        End With
        'copy the BLENDFUNCTION-structure to a Long
        RtlMoveMemory lBF, BF, 4
        'AlphaBlend the picture from Picture1 over the picture of Picture2
        AlphaBlend Picture2.hdc, 0, 0, Picture2.ScaleWidth, Picture2.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, lBF
    End Sub
    BlendFlags is a part of a UDT, as you see in the code above.
    To get values for BlendFlags and the other members of BLENDFUNCTION, go to http://www.msdn.microsoft.com

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width