| |
|
|
Marcus Mayer | Basierend auf dem tollen Programmcode von Andreas Miethe ( [...] ) und der Hilfe von iF stelle ich hier die png.inc zur Verfügung. Mit der Include lassen sich auf einfache Weise png-Dateien mit Alphakanal im Clientbereich des Hauptfensters zeichnen.
Herunterladen externer Download
Verwendung:
In der zip-Datei befinden sich neben der Include auch 2 Beispielbilder und ein kleines Skript zu Demonstrationszwecken. |
|
|
| |
|
|
|
| Vlt. die eine oder andere Anmerkung zur Inc:
Im Prinzip verballerst Du Globale:
Var GdiPlus& = ImportDll("GDIPlus.dll","")
Declare WW&,WH&,GdiplusToken&,IObject&,bm&,DC&,Graphics&
$H windows.ph
$H Messages.ph
Struct GdiplusStartupInput = GdiplusVersion&,DebugEventCallback&,SuppressBackgroundThread&,SuppressExternalCodecs&
Struct Size = cx&,cy&
Struct Point = x&,y&
Struct Blendfunction = a#(4)
- eine Inc möglichst jedoch ohne Globale auskommen sollte, die mit dem Hauptprogramm kollidieren.
Eine Möglichkeit wäre, wenn ohne Globale kein Auskommen ist, dann diese manuell unter einen Namensraum zu stellen, z.B.
Declare png.inc.WW&,png.inc.WH&,png.inc.GdiplusToken&,png.inc.IObject&,png.inc.bm&,png.inc.DC&,png.inc.Graphics&
eher nicht in inc mit $H einbinden $H windows.ph
eher nicht in inc mit $H einbinden $H Messages.ph
mit #include windows.ph ginge jedoch auch in inc einbinden, benötigt präkompiler - mit diesem jedoch windows.ph garnicht erst inkludiert werden müsste
Struct png.inc.GdiplusStartupInput = GdiplusVersion&,DebugEventCallback&,SuppressBackgroundThread&,SuppressExternalCodecs&
...
womit eine Kollision mit dem Hauptprogramm leicht vermeidbar ist, wenn man einmal die Inc angesehen hat die man da nutzen möchte - so auch bei ImportDLL den 2. Parameter beachten.
Vlt. auch kurzer Überflug in Hilfedatei unter Units "Namensraum" ?_ Symbol. |
|
|
| |
|
|
|
Marcus Mayer | Jau, da hast du wohl recht. Normalerweise hab ich in Includes immer eine Schreibweise in Richtung includename.beispiel% bevorzugt. Hab ich diesmal nicht dran gedacht, da meine letze Include auch schon ein paar Jährchen her ist. Ich mach mir demnächst mal den Spaß und passe das Ganze noch an. |
|
|
| |
|
|
|
| Hab mir das mal angeschaut und etwas gekürzt, anhängig im Paket eine Variante für XProfan 11 (mit und ohne XPSE) und XProfan 12. |
|
|
| |
|
|
|
Marcus Mayer | Ja holla die Waldfee, das ist ja mal ein Service. Da hast du mir ja die ganze Arbeit abgenommen. Und das alles so schnell... in der Zeit hab ich noch nicht mal den XProfEd aufgekriegt.
Ganz fein, danke. Da kann ich mein Gestümper ja getrost entfernen. |
|
|
| |
|
|
|
| Gern geschehen. ^^
Hast Du Lust nächste Woche zum Treffen zu kommen? Wir haben definitiv noch zu viele Grillwürstchen und einige wollen statt alleine zu fahren gerne noch jemanden mitnehmen. Gib Dir einen Ruck, sag einfach ja. |
|
|
| |
|
|
|
Marcus Mayer | Nein, tut mir wirklich leid. Die nächsten Wochen haut bei mir leider garnichts dergleichen hin. Aber danke der Nachfrage. |
|
|
| |
|
|
|
| Nein, Du kommst mit.
PS: Vlt. beim nächsten mal. ^^ |
|
|
| |
|
|
|
Julian Schmidt | Hallo, in den Include scheint ganz offensichtlich ein Fehler zu sein. Wenn ich die Demo kompiliere stürzt das Programm immer ab! Im Interpreter läuft es!
Ich nutze XProfanX2.
LG
Julian57 |
|
|
| |
|
|