Letzte PB-Version mit palettierten Images?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Regenduft
Beiträge: 567
Registriert: 25.03.2008 15:07
Wohnort: 's Ländle

Letzte PB-Version mit palettierten Images?

Beitrag von Regenduft »

Hallo Liebe Leute,

weiß zufällig jemand welches die letzte PureBasic-Version war, welche noch palettierte Images unterstützte?

Anders umschrieben: In welcher Version konnte/musste man noch eine Farbpalette erstellen und dann beim Zeichnen (z.B. mit 2D-Drawing-Funktionen) für die Farbe einen Palettenindex angeben, anstatt eines 24- oder 32-Bit Farbwertes?

Ich hatte per "PureBasic-Geschichte" versucht die letzte Version zu finden, allerdings war die Abschaffung der Palette leider so fließend, dass ich sie nicht finden konnte. Z.B. war eine Zeit lang zwar ein Screen mit Bit-Tiefe kleiner-gleich 8-Bit möglich, aber die Image- und Sprite-Library hatten Grafiken intern bereits nur noch in 24- und 32-Bit erlaubt (bzw. beim Laden und Speichern "heimlich" konvertiert).

Wäre klasse, wenn ein Urgestein mir vielleicht eine grobe Richtung weisen könnte, welche Versionen ich mal genauer unter die Lupe nehmen sollte! :)
PureBasic 5.73 LTE x86/x64 | Windows 7 (x64)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6808
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Letzte PB-Version mit palettierten Images?

Beitrag von STARGÅTE »

Ich glaube das sollte um Version 4.40 passiert sein:
7. Juni 2010 : Version 4.50
- Geändert: Die Image Library behandelt Bilder jetzt intern als 24Bit oder 32Bit (das Laden und Speichern funktioniert mit anderen Bit-Tiefen)
1. Dezember 2009 : Version 4.40
- Entfernt: #PB_Image_DisplayFormat ist jetzt "veraltet" (der Wert wurde auf 24 gesetzt, um standardmäßig 24Bit zu haben)
Später ist dann die Palette rausgeflogen:
17. September 2013 : Version 5.20 LTS
- Entfernt: Palette Bibliothek (veraltet)
PB 5.73 ― Win 10, 20H2 ― Ryzen 9 3900X ― Radeon RX 5600 XT ITX ― Vivaldi 3.6 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Mijikai
Beiträge: 688
Registriert: 25.09.2016 01:42

Re: Letzte PB-Version mit palettierten Images?

Beitrag von Mijikai »

DirectDraw unter Windows wäre evtl. noch eine Option das gibt es immer noch und funktioniert noch wie früher.
Wollte mal ne 2D Engine (für einen Emulator) damit schreiben bin aber nicht weit gekommen.
Ist nicht ganz einfach und viele Informationen sind heutzutage schwer zu finden (viele Infos gibt es nur zu neueren Interface Versionen).

Einfacher wäre GDI & DIBs damit geht das auch (Dooms & Quakes Software-Renderer basiert darauf).
Nachteil hier müssen viele Funktionen selbst geschrieben werden unter anderem auch damit es schnell läuft.
Benutzeravatar
Regenduft
Beiträge: 567
Registriert: 25.03.2008 15:07
Wohnort: 's Ländle

Re: Letzte PB-Version mit palettierten Images?

Beitrag von Regenduft »

Danke für die Antworten!

PB 4.31 (also die letzte Version vor 4.40) war wirklich die letzte, welche Images mit Farbtiefen von 4 und 8 Bit erlaubte.
Mich hat das ganze ziemlich verwirrt...
Die Palette-Library war nur für Screens. Auf die Palette von Images hatte man nie wirklich einen Zugriff.
Wenn man mit CreateImage() z.B. ein 4-Bit-Image erstellt, und anschließend mit der 2D-Drawing-Library darin "rumzeichnet", dann werden anscheinend die ersten 16 Farben, die man nutzt, automatisch in die Imagepalette aufgenommen. FrontColor() verlangte damals auch nur RGB-Werte, keinen Palettenindex. Wirklich seltsam...

Ich glaube ich werde für meine Zwecke beim Zeichnen einfach mit einem Array als Palette arbeiten. Das geht auch im Rückwärtsgang (also von Farbe zu Palettenindex) vmtl. flott genug.

Das eigentliche nervige Problem ist das Speichern von Images... Mit ist aufgefallen, dass PureBasic beim speichern mit z.B. 4 Bit oft einzelne Farben ein wenig abändert, auch wenn man nur 16 Farben genutzt hat und somit die Farbzahl eigentlich nicht reduziert werden muss.
Vielleicht probiere ich's mal mit ImageMagick, auch wenn ich dann auf Spatzen mit Kanonen schieße, aber es braucht nicht so eine große Einarbeitungszeit.
PureBasic 5.73 LTE x86/x64 | Windows 7 (x64)
Antworten