InsertBitmapListItem Example for Visual Basic

Note: Also works with Access 95 and 97.

This example loads an ordinary file and uses it to create and play an animation. It assumes that the LEAD control has already been sized to the aspect ratio of the image.

Dim nMax As Double ' Maximum width or height for bitmaps in the list
Dim BitmapWidth As Double ' Width of the bitmap
Dim BitmapHeight As Double ' Height of the bitmap
Dim I As Long  ' Loop Counter
Dim RasterIO As New LEADRasterIO
Dim RasterProc As New LEADRasterProcess
Dim Factory As New LEADRasterFactory
Dim Raster2 As LEADRaster
Dim szLic As String

'Create a new ILEADRaster Object
szLic = "LEADTOOLS OCX Copyright (c) 1991-2005 LEAD Technologies, Inc." & vbCrLf & vbCrLf
Set Raster2 = Factory.CreateObject("LEADRaster.LEADRaster", szLic)

nMax = 160
RasterIO.Load Raster2, "d:\temp\24bit.bmp", 0, 0, 1
BitmapWidth = Raster2.BitmapWidth
BitmapHeight = Raster2.BitmapHeight
' Reduce memory requirements, if necessary. Only small bitmaps play smoothly.
If (BitmapWidth > nMax) Then
   RasterProc.Size Raster2, nMax, (BitmapHeight * nMax) / BitmapWidth, RESIZE_RESAMPLE
ElseIf (BitmapHeight > nMax) Then
   RasterProc.Size Raster2, (BitmapWidth * nMax) / BitmapHeight, nMax, RESIZE_RESAMPLE
End If
' Dither to an optimized palette, leaving the last color blank to use
' for transparency.
RasterProc.ColorRes Raster2, 8, CRP_IDENTITYPALETTE, CRD_FLOYDSTEINDITHERING, 255
' Set an arbitrary transparent color in the last position of the bitmap palette.
Raster2.BitmapPalette(255) = RGB(212, 222, 202)
' Set the playback values that will apply to all bitmaps in the list.
Raster2.BitmapDelay = 10
Raster2.BitmapTop = 0
Raster2.BitmapLeft = 0
Raster2.BitmapEnableTransparency = True
Raster2.BitmapTransparentColor = 16777216 + 255 ' Specified by palette index
Raster2.BitmapDisposalMethod = ANIMATIONDISPOSAL_RESTOREBACKGROUND
' Free the LEADRasterView1 control's current bitmap list.
LEADRasterView1.Raster.BitmapList = 0
' Populate the bitmap list in the LEADRasterView1 control.
LEADRasterView1.EnablePaint = False
For I = 0 To 36
   LEADRasterView1.Raster.InsertBitmapListItem I, Raster2.Bitmap
   ' Rotate, using the transparent color as the fill color.
   LEADRasterView1.Raster.BitmapListIndex = I
   RasterProc.Rotate LEADRasterView1.Raster, 1000 * I, 0, 16777216 + 255
Next I
LEADRasterView1.EnablePaint = True
' Set the animation playback properties
LEADRasterView1.AnimationBackColor = RGB(0, 0, 255)
LEADRasterView1.AnimationBitsPerPixel = 8
LEADRasterView1.AnimationHeight = LEADRasterView1.ScaleHeight
LEADRasterView1.AnimationWidth = LEADRasterView1.ScaleWidth
LEADRasterView1.AnimationLoop = False
For I = 0 To 255
   LEADRasterView1.AnimationPalette(I) = LEADRasterView1.Raster.BitmapPalette(I)
Next I
' Set properties for a scaled animation.
LEADRasterView1.AutoRepaint = True
LEADRasterView1.AutoSetRects = False
' Set the image display size to match the LEAD Raster View control.
LEADRasterView1.SetDstRect 0, 0, LEADRasterView1.ScaleWidth, LEADRasterView1.ScaleHeight
LEADRasterView1.SetDstClipRect 0, 0, LEADRasterView1.ScaleWidth, LEADRasterView1.ScaleHeight
' Start the animation.
LEADRasterView1.AnimationEnable = True
' Free the Raster2 object's bitmap list.
Raster2.BitmapList = 0