ProSpeed.dll
Wenn sie Fragen und Anregungen zu meiner ProSpeed DLL oder zu den Profan²-Sourcecodes und Demos haben, dann sind sie hier richtig. Auch neue Vorschläge sind jederzeit willkommen. Und bitte mit richtigem Namen und Email-Adresse einschreiben. Danke.

| Suchen
| Zurück zur Übersicht

Autor | Thema: ProSpeed und Png-Grafikformat
Frank Abbing
| Datum:07.08.02 17:40 |
Hallo, ich bin dabei, in ProSpeed noch ein weiteres Grafikformat zu implementieren. Jpg packt zwar supergut, allerdings kann man diese Bilder nicht für Sprites verwenden (Grafik wird beim Speichern verändert, dadurch bei Sprites oft Transparenz-Probleme). Gif packt auch ganz gut, funktioniert aber maximal nur mit 8-Bit-Grafiken. Wmf wird bisher noch wenig genutzt. Bmp ist schnell, aber gigantisch (ungepacktes Format). Rle hat schlechte Packraten und kaum ein Grafikprogramm verwendet es. Psf (ProSpeed-eigenes Format) hat keine sonderliche gute Packrate. Was fehlt ist ein Packformat, was die Grafikdaten nicht verändert, aber gute Packraten erzeugen kann. Aus diesem Grund hab' ich an das Png-Format (portierbare Netzwerk-Grafik) gedacht. Hier mal Testwerte (Dateigröße in Bytes) für ein 800 x 640 (24 Bit) großes Bild mit sehr vielen Grafikinformationen:
    BMP: 1440054
    GIF:    -
    JPG:  102972
    PNG:  469946
    PSF:  819011
    TIF:  583100
    TGA:  966378
    PCX:  788412
Geht also mal davon aus, das ProSpeed in der nächsten Version auch Png-Bilder laden kann. Votes welcome... Gruß, Frank
Moritz Kersten
| Datum:07.08.02 18:59 (IsNoMK@gmx.de) |
Hallo Frank, gute Idee ! Wird dann auch die Alpha-Transparenz von png-Bildern unterstützt ? *hoff* Wenn ja -> SPITZE !!! Moritz
Frank Abbing
| Datum:07.08.02 19:54 |
Hallo Moritz, Png bietet ja 256 Transparenzebenen durch Verwendung von Alphakanälen. Was erhoffst du dir denn genau ? Gruß, Frank
Moritz Kersten
| Datum:07.08.02 21:11 (IsNoMK@gmx.de) |
>>Png bietet ja 256 Transparenzebenen durch Verwendung von Alphakanälen. Genau das meine ich ja ! Oder wird man die PNG Bilder nur in ProSpeed-Bitmaps laden können, dann wäre die Transparenz ja wieder futsch. Perfekt wäre es wenn die ProSpeed das PNG Bild so kopieren wurde wie ich es im Malprogramm mit transparenz gezeichnet habe und diese dann auch mit der jeweiligen stärke berücksichtigt würde. Dann könnt ich auch auf eine SemiTransMask Funktion verzichten :) Moritz
Frank Abbing
| Datum:07.08.02 21:55 |
Hmmm, natürlich generiert der Png-Decoder aus einem Png-File eine Windows-Bitmap. Das machen alle Decoder so... Alpha-Transparenz kann später nur beim Kopieren auf den Ausgabe-HDC eingebunden werden, durch die Kopierfunktion (CopyExtBmp). Dummerweise hab' ich dort keinen direkten Grafikzugriff, aber als ByteArray(CreateExtFX) könnte ich eine eigene Alpha-Trans-Kopierroutine einsetzen, ähnlich z.B. der Blur-Funktion. Ich denke, in meinem Urlaub komme ich nicht dazu (ich bin dann nicht zuhause), vielleicht danach. Ich werd' mich anstrengen für die nächste PS Version eine zu erstellen, ok? Aber erstmal PNG..... Gruß, Frank
Frank Abbing
| Datum:07.08.02 21:57 |
P.S. Wenn Alpha-Trans, dann auch mit 256 Ebenen, versprochen...
Frank Abbing
| Datum:13.08.02 22:10 (frankabbing@12move.de) |
Hallo Moritz, die Alpha-Trans Funktion ist fertig, aber noch relativ ungetestet. Ich werde demnächst 2 Wochen nicht zuhause sein, wenn du Lust hast, kannst du gerne eine Test-Prf erstellen. AlphaTrans() ist ziemlich flexibel, angegeben werden zwei Quellbilder und ein Maskenbild (alles ByteArrays). Jeder Pixel in der Maskenbitmap kann Werte von 0 bis 255 annehmen, also wie versprochen ein Alphatrans mit 256 Ebenen. Je dunkler ein Pixel in der Maskenbitmap ist, desto sichtbarer wird der Pixel in Quellbitmap 1 angezeigt. Je heller ein Maskenpixel ist, desto sichtbarer wird der Pixel in Quellbitmap 2. AlphaTrans( Handle Zielbitmap (%HDC) oder 0, X Offset zur Zielbitmap, Y Offset zur Zielbitmap, Handle (erstellt mit InitExtFX oder CreateExtFX) von Quellbitmap 1, Handle (erstellt mit InitExtFX oder CreateExtFX) von Quellbitmap 2, Handle (erstellt mit InitExtFX oder CreateExtFX) der Maskenbitmap ) Wenn du Lust und Zeit hast, melde dich per email und ich schicke dir die ProSpeed-Beta. Als Beschreibung muß dir momentan noch dieser Text genügen... ;-)) Gruß, Frank
Sven Schmidts
| Datum:06.09.02 15:11 (schmidts@flat2serv.de) |
Hallo Frank, kurze Info, weil wir mal vor längerem darüber geredet haben: Die Anzeige von GIF Dateien ist erlaubt, lediglich das erzeugen von GIF Dateien (z.B. ein Konverter o.ä.) benötigt eine Lizenz. Da habe ich mich seinerzeit etwas vertan, sorry. Sven
Frank Abbing
| Datum:12.09.02 20:59 |
Hallo, danke, Sven. Und seit neuestem übrigens auch das Erzeugen von Jpg's !!! Gruß, Frank
Sven Schmidts
| Datum:13.09.02 08:12 (schmidts@flat2serv.de) |
Wie, JPEG erzeugen kostet? Bei wem muss man dann die Lizenz kaufen?
Frank Abbing
| Datum:13.09.02 10:38 |
Hi, Forgent, Texas USA, die Patentrechte laufen bis 2004, nachzulesen in CHIP 10/2002. Gruß, Frank
Sven Schmidts
| Datum:13.09.02 10:53 (schmidts@flat2serv.de) |
Ist echt nicht war. Erst motzen alle auf, jeder darf es einbauen und dann kostet es plötzlich Geld. Ist schon witzig, welche Strategien Microsoft (.NET) und Konsorten verfolgen. witzigerweise werden plötzlich auch viele, vorher hochgepriesene, OpenSource oder Freeware Projekte kommerziell.
Frank Abbing
| Datum: 13.09.02 15:30 |
Ja, das ist der Hintergedanke, erst schön populär machen, und wenn es sich zum Standart etabliert hat, kann abkassiert werden. War ja beim GIF auch so... Gruß, Frank

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |