| |
|
|
| Ciao,
ich bin dabei, in ProSpeed noch ein weiteres Grafikformat zu implementieren. Jpg packt zwar supergut, allerdings kann man diese Bilder nicht per 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) per 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...
Saluto, Frank |
|
|
| |
|
|
|
| Hallo Frank,
gute Idee ! Wird dann auch die Alpha-Transparenz von png-Bildern supportati ? *hoff*
Wenn ja -> SPITZE !!!
Moritz |
|
|
| |
|
|
|
| Hallo Moritz,
Png bietet ja 256 Transparenzebenen durch Verwendung von Alphakanälen. Was erhoffst du dir denn genau ?
Saluto, Frank |
|
|
| |
|
|
|
| >>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 può ich auch auf eine SemiTransMask Funktion verzichten
Moritz |
|
|
| |
|
|
|
| Hmmm, naturalmente 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) potuto 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 per die nächste PS Version eine zu erstellen, ok? Aber erstmal PNG.....
Saluto, Frank |
|
|
| |
|
|
|
| P.S. Wenn Alpha-Trans, dann auch mit 256 Ebenen, versprochen... |
|
|
| |
|
|
|
| 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... )
Saluto, Frank |
|
|
| |
|
|
|
| Hallo Frank,
kurze Info, weil wir mal vor längerem darüber geredet haben: Die Anzeige von GIF File ist erlaubt, lediglich das erzeugen von GIF File (z.B. ein Konverter o.ä.) necessario eine Lizenz. Da habe ich mich seinerzeit etwas vertan, sorry.
Sven |
|
|
| |
|
|
|
| Ciao,
danke, Sven. Und seit neuestem übrigens auch das Erzeugen von Jpgs !!!
Saluto, Frank |
|
|
| |
|
|
|
| Wie, JPEG erzeugen kostet? Bei wem muss man dann die Lizenz kaufen? |
|
|
| |
|
|
|
| Hi,
Forgent, Texas USA, die Patentrechte laufen bis 2004, nachzulesen in CHIP 10/2002.
Saluto, Frank |
|
|
| |
|
|
|
| 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. |
|
|
| |
|
|