Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

04.10.2013, 10:58

Corba unterstützt Byte Arrays. Deine TIFF Datei ist, wie jede andere Datei, nichts anderes als eine Byte Sequenz...

12

04.10.2013, 12:01

Ja, der Kommentar kommt jetzt zum 3. mal... :D
Aber wie komme ich an dieses Byte-Array bzw. die Datei ran, wenn ich im normalen Schreibvorgang nur über ein Tiff-Handle agiere? Ich kann das ja schlecht einfach nach const char* casten oder Corba als vermeintliche Byte-Sequenz vorsetzen...

Oder schreibt man die Datei erst mal ganz normal erst mal auf die Platte und liest sie danach dann noch mal in nen Byte-Stream ein?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

04.10.2013, 12:07

Oder schreibt man die Datei erst mal ganz normal erst mal auf die Platte und liest sie danach dann noch mal in nen Byte-Stream ein?

Zumindest ich dachte bisher, dass die Datei bereits auf der Platte liegt. Aber auch wenn nicht: Dann musst du dem Programm den Bytestream eben auf irgendeine Art und Weise entlocken... ;)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (04.10.2013, 12:28)


14

04.10.2013, 17:31

Also wenn ich die Datei erst wie gewöhnlich erstelle und dann noch mal als Byte-Stream einlese, funktioniert es. Eleganter wäre es aber sicherlich, das Tiff direkt in einen Stream zu schreiben. Ich hab aber ein überseltsames Problem dabei, denn sobald ich den einen Befehl in meiner für normale Tiff-Dateien perfekt funktionierenden Routine austausche, wirft sie einen Fehler, sobald die ~60. Scanline geschrieben wird. Bei anderen Bildern ist es mal ne andere in der Größenordnung, wenn ich die Compression weglasse, ist es die ~130. Null Ahnung, woran das liegt...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

04.10.2013, 17:41

Meine Glaskugel sagt: Du hast den Stream im Textmodus geöffnet und beim ersten Byte, das einem Newline entspricht, kommt alles durcheinander...der Bug hat mich schonmal in die völlige Verzweiflung getrieben... ;)

16

04.10.2013, 19:12

Wow, das kann echt sein. Dauert leider bis Montag, bis ich es checken kann, aber wenn es daran gelegen hat, will ich ein Kind von dir. :D

17

08.10.2013, 10:41

Ok, der Fehler scheint tatsächlich daran gelegen zu haben. Nun hab ich aber das nicht weniger merkwürdige Problem, dass er beim zweiten Call an TIFFWriteDirectory mit der Meldung "Error fetching directory count" einen Fehler erzeugt. In der Doku heißt es dazu: "A read error
occurred when fetching the directory count field for a
previous directory. This can occur when setting up a link to
the directory that is being written". Erzeuge ich das Tiff-Handle durch TiffOpen abstatt TiffStreamOpen funktioniert es einwandfrei, ansonsten ist der Code identisch...

Werbeanzeige