erstmal danke für deine schnelle Antwort...
Ich denke, das Hauptproblem besteht darin, das ich noch ziemlicher Delphi-Neuling bin
Also wie der Aufbau des Headers aussehen soll hab ich(denk ich mal) verstanden. Auch welche Tags ich benötige, denn das ist bei meiner Aufgabe vorgeschrieben
Ich brauche folgendes(vorgeschriebene Werte):
Anzahl der Tags
Image Width
Image Length
Compression(4=CCITT Group 4)
Photometric Interpretation(0)
Fill Order(1 oder 2)
Document Name
Strip Offsets
Orientation(1)
Rows per Strip(2**32-1)
Strip Byte Count
Xresolution(=>200)
Yresolution(=>200)
Resolution
Unit(2=Zoll)
Page Number
Date Time
Next IFD Offset
Habe mir als erstes ein Record gebastelt für den Header:
Delphi-Quellcode:
type IMGHeader=record
Sequenz:smallint; //Hex 4949 für little-endian Format
Kennzeichen:smallint; //Hex 002A für TIFF mit Nummer 42
Zeiger:Pointer; //Zeiger aufs erste IFD
end;
Das zu speichernde Bild hab ich als TBitmap vorliegen.
Als nächstes möchte ich die Ausgabe-Datei erstellen:
1. Problem: wie speicher ich den Header in ner neuen Datei ab?(stream oder wie mach ichs am geschicktesten?)
2. Problem: woher weiss ich denn, wo die IFD's dann beginnen sollen? (für Zeiger aufs erste)
Dann muss ich ja das (erste) IFD speichern...
wie mache ich denn das? Die Werte für die Tags kann ich zum Teil ja aus dem Bitmap ermitteln (Length, Width, Resolution)
Die restlichen Werte muss ich dann einfach so setzten? Wie ermittel ich denn die Strips? (Byte Count)
Bei Strip-Offset muss ja dder Zeiger auf die Bilddaten hin... wie ermittel ich den denn?
Und zu guter letzt: Wie Speicher ich denn die Bilddaten in die neue Datei? Einfaches kopieren kann ja nicht gehen wegen der Compression
Fragen über Fragen... Wie man sieht bin ich halt noch ziemlicher Delphi-Neuling. Sind sicherlich Probleme, die leicht zu lösen sind (bis auf das mit den Bilddaten) aber ich komm da irgendwie nicht mit klar. Aber man wächst ja an seinen Aufgaben