| |
|
|
funkheld | So jetzt möchte ich die GDiPlus-Gafik nutzen , später auch mit ASM zuammen.
Hallo IF , dein GdiPlus funktioniert nicht mit XPSE. Es startet und steigt gleich wieder aus. Die PH und INC sind direkt im Profanordner. Das Programm corre aber ohne XPSE.
Was muss jetzt geändert werden.
Danke.
Gruss
{$CLEQ}
$H windows.ph
$H Functions_GDIPLUS.ph
$H GDIP_Imageging.ph
$I GDIP_Helper.inc
Declare gdiplusToken&,ImageObject&,GraphicObject&,ImageWidth&,ImageHeight&
CLS ~GetSysColor(~COLOR_3DFACE)
gdiplusToken& = InitGDIPlus()'GDIPlus starten
'Bild laden
ImageObject& = gdipLoadImage("data\\eisbaer.jpg")'Pfad anpassen
If ImageObject&
'und auf %hWnd zeichnen
~GdipCreateFromHWND(%hWnd,ADDR(GraphicObject&))'alle Graphics-Operationen auf %hWnd
'Bild 1 zeichnen
~GdipDrawImageI(GraphicObject&,ImageObject&,0,0)'Bitmap zeichnen
~GdipGetImageWidth(ImageObject&,ADDR(ImageWidth&))'Breite ermitteln
~GdipGetImageHeight(ImageObject&,ADDR(ImageHeight&))'Hoehe ermitteln
~GdipRotateWorldTransform(GraphicObject&,Single(225.0),1)
~GdipTranslateWorldTransform(GraphicObject&,Single(ImageWidth&/2),Single(ImageHeight&/2),1)
~GdipDrawImageRectI(GraphicObject&,ImageObject&,(ImageWidth&/2),(ImageHeight&/2), -ImageWidth& , -ImageHeight&)
~GdipResetWorldTransform(GraphicObject&)
~GdipDisposeImage(ImageObject&)
~GdipDeleteGraphics(GraphicObject&)
Endif
Waitinput
ExitGDIPlus(gdiplusToken&)'GDIPlus beenden
End
|
|
|
| |
|
|
|
| Bitte schaue einmal ob dies hier bei Dir corre: png.inc ( [...] )
und wenn possibile dann würde es mir sehr helfen wenn Du eine ZIP-File mit allen per das Projekt wichtigen File hochladen könntest. So kann ich dann einfacher herausbekommen wo ein Fehler ist. |
|
|
| |
|
|
|
funkheld | Ja corre wunderbar. png.inc.archive.zip entpackt und die Pngtest.xprf compiliert mit XPSE und XProfan 11.2
Gruss |
|
|
| |
|
|
|
funkheld | Hmm..., warum werden bei dir keine GDI-Plus-Testata gebraucht wie bei deinem ersten Programm? Ich kriege das erste Programm ganz oben immer noch nicht zum laufen.
Danke.
Gruss |
|
|
| |
|
|
|
| Diese ganzen Testata per Windows-APIs sowie Windows-APIs hat xpse alle an Board und setzt die Konstanten und Funktionen gleich direkt um.
So kannst mit xpse einfach schreiben:
Auch kannst Dir das Tile-Zeichen ("~") sparen solange der Name nicht mit einem XProfan-Schlüsselwort kollidiert. In solch einem Fall einfach mit dem Tilde-Zeichen auf die API zeigen:
Das gilt per den normalen XProfan-Teil wie per die nProcs. Umgewandelt werden solche Aufrufe sogar in Funktionsaufrufe die viel schneller ablaufen als wenn Du sie circa die Testata-Schreibweise aufrufst denn xpse wandelt diese Aufrufe gleich in direkte Calls auf die Funktionsadressen um.
Testata brauchst bei xpse nur per Funktionen und Konstanten die nicht vom Betriebssystem bereitgestellt werden (Fremdanbieter).
Was das Paket betrifft schrieb ich ja bereits:
iF (20.04.12)
und wenn possibile dann würde es mir sehr helfen wenn Du eine ZIP-File mit allen per das Projekt wichtigen File hochladen könntest. So kann ich dann einfacher herausbekommen wo ein Fehler ist.
|
|
|
| |
|
|
|
funkheld | Hallo IF , im Anhang die GDI-Plus, die mit XPSE nicht corre.
Danke.
Gruss |
|
|
| |
|
|
|
| Hi!
Die GDIP_Helper.inc hat tatsächlich ein paar inhaltliche und syntaktische Fehlerchen, eine korrigiertes Paket im Anhang. |
|
|
| |
|
|
|
funkheld | Ja, danke. Jetzt funktioniert es auch wieder mit XPSE. Ich hätte den Fehler nicht gefunden.
Danke.
Gruss peter |
|
|
| |
|
|