Folgendes Problem:
Bei PureGraphicShop gibt es ja Pinselformen und Structures.
Die Dateiformate sind ganz einfach aufgebaut:
Dimensionen
Daten
Daten sind hierbei halt immer bytewerte von 0-256
Will ich nun vorschaubildchen machen, wär es ja das logischste, die daten als grundlage für ein 256-Farben-Bild zu nutzen.
Aber das klappt nicht.
Ich hab es so versucht:
Grundheader:
Code: Alles auswählen
Structure THEICONINFO
bmiHeader.BITMAPINFOHEADER
bmiColors.RGBQUAD[256]
EndStructure
Code: Alles auswählen
StructureData\bmiHeader\biSize=SizeOf(BITMAPINFOHEADER)
StructureData\bmiHeader\biWidth=StructureList()\width
StructureData\bmiHeader\biHeight=StructureList()\height
StructureData\bmiHeader\biPlanes=1
StructureData\bmiHeader\biBitCount=8
StructureData\bmiHeader\biCompression=#bi_rle8
StructureData\bmiHeader\bisizeImage=StructureList()\width*StructureList()\height
Code: Alles auswählen
For a=0 To 255
StructureData\bmiColors[a]\rgbred=a
StructureData\bmiColors[a]\rgbgreen=a
StructureData\bmiColors[a]\rgbblue=a
Next
Die Grundwerte(höhe, breite) sind korrekt, genauso Palette und daten, es kann meiner Meinung nach nur an 2 Sachen liegen:
1.)Ich hab was falsch gemacht bei Planes oder so, im header halt irgendwo
oder
2.)Ich hab den Aufbau dieser Bitmaps nicht richtig verstanden
Momentan lese ich die Daten ein und kopier dann jeden einzelnen Punkt in eine RGB-Structure für den jeweiligen Punkt.
Das ist aber langsam und ja eigentlich auch blödsinnig (blödsinnig im sinne von "es geht schneller und platzsparender")
So, jetzt kommt das Große rätseln, wer kann mir helfen?
Achja, Ich habe die Suche genutzt und auch bei PureArea.net nachgesehen.
Das Beispiel welches dort von El_Choni zu finden ist, ist für mich nutzlos, da:
; Note that it doesn't change the format of the image, it's still a 24 bit image but with a reduced
; number of colours.