| |
|
|
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 läuft 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 läuft: png.inc ( [...] )
und wenn möglich dann würde es mir sehr helfen wenn Du eine ZIP-Datei mit allen für das Projekt wichtigen Dateien hochladen könntest. So kann ich dann einfacher herausbekommen wo ein Fehler ist. |
|
|
| |
|
|
|
funkheld | Ja läuft 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-Header gebraucht wie bei deinem ersten Programm? Ich kriege das erste Programm ganz oben immer noch nicht zum laufen.
Danke.
Gruss |
|
|
| |
|
|
|
| Diese ganzen Header für 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 für den normalen XProfan-Teil wie für die nProcs. Umgewandelt werden solche Aufrufe sogar in Funktionsaufrufe die viel schneller ablaufen als wenn Du sie über die Header-Schreibweise aufrufst denn xpse wandelt diese Aufrufe gleich in direkte Calls auf die Funktionsadressen um.
Header brauchst bei xpse nur für Funktionen und Konstanten die nicht vom Betriebssystem bereitgestellt werden (Fremdanbieter).
Was das Paket betrifft schrieb ich ja bereits:
iF (20.04.12)
und wenn möglich dann würde es mir sehr helfen wenn Du eine ZIP-Datei mit allen für das Projekt wichtigen Dateien 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 läuft.
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 |
|
|
| |
|
|