Einzelnen Beitrag anzeigen

Kerberos

Registriert seit: 2. Aug 2005
19 Beiträge
 
#3

Re: Bild scannen und als Tiff speichern

  Alt 30. Dez 2005, 08:16
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
  Mit Zitat antworten Zitat