| |
|
|
- Seite 1 - |
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | 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 |
|
|
| |
|
|
|
| |
|
- Seite 1 - |
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | Hallo Frank,
gute Idee ! Wird dann auch die Alpha-Transparenz von png-Bildern unterstützt ? *hoff*
Wenn ja -> SPITZE !!!
Moritz |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | Hallo Moritz,
Png bietet ja 256 Transparenzebenen durch Verwendung von Alphakanälen. Was erhoffst du dir denn genau ?
Gruß, Frank |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | >>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 ![](.././../../i/s/__upl_ext_1111498557.gif)
Moritz |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | 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 |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | P.S. Wenn Alpha-Trans, dann auch mit 256 Ebenen, versprochen... |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | 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 |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | 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 |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | Hallo,
danke, Sven. Und seit neuestem übrigens auch das Erzeugen von Jpgs !!!
Gruß, Frank |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | Wie, JPEG erzeugen kostet? Bei wem muss man dann die Lizenz kaufen? |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | Hi,
Forgent, Texas USA, die Patentrechte laufen bis 2004, nachzulesen in CHIP 10/2002.
Gruß, Frank |
|
|
| |
|
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | 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. |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
![: 20.04.2004](.././../../i/a/noavatar.gif) | 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 |
|
|
| |
|
|