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)
Property | Datentyp(Read/Write) | Hinweise |
ImgWidth | Integer (R) | Bild Weite in Pixel ( steht erst nach laden des Bildes zur Verfügung) |
ImgHeight | Integer (R) | Bild Höhe in Pixel ( steht erst nach laden des Bildes zur Verfügung) |
DC | HDC (R) | HDC in dem das Bild abgelegt wird. |
bkColor | UInteger (W) | DC wird mit dieser Farbe gefüllt bevor das Bild hinein copiert wird. Wenn erforderlich - vor LoadImg oder LoadRes plazieren. |
Sub/Function | Argumente | Hinweise |
SUB LoadImg | (s As String) | Dateiname (ggf. mit Path) des Bildes |
Sub LoadRes | (resName As String) | Resource Name ( kein ID) Zeilen in Resource-Datei: resName RCDATA PATH\BildName.typ typ kann .jpg, .png, .gif, .bmp, .tiff sein |
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.
Alternativ:
Dim Shared As FImage img1#Include "winFBgui.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->bkColor = &HFFEEBB ' Setzt die gleiche Farbe wie Panel. Ist nur erforderlich wenn das Bild transparente bereiche hat.
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
panel1.Color = &HFFEEBB
form1.Show
Delete img1
ExitProcess(0)
End