FImage

FImage selbst ist keine sichtbare Komponente. Es dient zum Laden von Bildern aus Datei und das Kopieren dieser in einen HDC.

FBImage verwendet GdiPlus.bi und kann Bitmap, JPG , PNG , GIF und TIFF laden (ab WindowXP)

PropertyDatentyp(Read/Write)Hinweise
ImgWidthInteger (R) Bild Weite in Pixel ( steht erst nach laden des Bildes zur Verfügung)
ImgHeightInteger (R) Bild Hüöhe in Pixel ( steht erst nach laden des Bildes zur Verfügung)
DCHDC (R) HDC in dem das Bild abgelegt wird.
bkColorUInteger (W) DC wird mit dieser Farbe gefüllt bevor das Bild hinein copiert wird.
Sub/FunctionArgumenteHinweise
SUB LoadImg (ByVal hParent As HWND,
s As String
Dateiname (ggf. mit Path) des Bildes
Sub LoadRes (resName As String) Resource Name ( kein ID)
Aus Resource kann z.Z nur Bitmap geladen werden
Sub ImgCopy (ByVal ZielDC As HDC, ByVal x As Integer, ByVal y As Integer) Kopiert das Bild in des ZielDC an Pos. x,y
Sub ImgCopyRect (ByVal ZielDC As HDC, tRC As RECT, qRC As RECT, ByVal rop As UInteger) Kopiert das Bild mit StretchBlt in das ZielDC in das Rect tRC aus dem Bild mit im qRC angegebenen RECT
Wenn rop=0 ist wird SRCCOPY verwendet. Es kann jede andere Raster-Operation verwendet werden ( siehe BitBlt)

FBImage sollte in der Form
Dim Shared As FImage ptr img1
img1 = NEW FImage

dimensioniert werden , da das HDC welches das Bild enthält im Destructor gelöscht wird. Dieser wird sicher beim Zerstören des Objeks mittels Delete aufgerufen.

Beispiel :
    #Include "FBForms.bi" 	
    #Include "FBControls.bi"

    
    Dim Shared As FForm form1
    Dim Shared As FPanel panel1
    Dim Shared As FImage ptr img1 
    
    img1 = NEW FImage
    
    Sub panel1_Paint(Byval dc as HDC)
    img1->ImgCopy(dc, 0, 0)
    End Sub
    
    form1.Create("Testform",0,0,870,720)
    Form1.Center
    
    
    img1->LoadImg("Garten1.jpg")
    '' img1->ImgWidth und img1->ImgHeight steht erst nach laden des Bildes zur Verfügung !
    panel1.Create(form1.Handle,10,10,img1->ImgWidth,img1->ImgHeight)
    panel1.onPaint = @panel1_Paint
    
    form1.Show
    
    Delete img1
    
    
    End