Xojo Conferences
MBSSep2018MunichDE
XDCMay2019MiamiUSA

AW: Bermerkungen in Bildern auslesen (Real Studio network user group Deutschland Mailinglist archive)

Back to the thread list
Previous thread: Listbox Drag&Drop
Next thread: Expand zip file mit MBS plugin?


AW: daten   -   Ubr Werner
  AW: Bermerkungen in Bildern auslesen   -   Ubr Werner
    Re: AW: Bermerkungen in Bildern auslesen   -   Stefan Mettenbrink
     Re: AW: Bermerkungen in Bildern auslesen   -   Stephan Stoske
      Re: AW: Bermerkungen in Bildern auslesen   -   Stefan Mettenbrink
   Expand zip file mit MBS plugin?   -   florian.ubr brains.at

AW: Bermerkungen in Bildern auslesen
Date: 07.04.03 13:07 (Mon, 7 Apr 2003 14:07:55 +0200 )
From: Ubr Werner
Die Infos in den Bildern (JPEG, Photoshop etc) sind im IPTC Format abgelegt.
Dafüpr gibts einen Standard. habe dafür mal vor einigen Jahren eine
Zugriffslibrary in C geschrieben. Für die Norm am Besten in Google unter
IPTC nachsehen (zB. http://www.codeproject.com/bitmap/iptc.asp)

CU
Werner

-----Ursprüngliche Nachricht-----
Von: <email address removed>
[mailto:<email address removed>]
Gesendet am: Freitag, 04. April 2003 21:02
An: realbasic Liste
Betreff: Bermerkungen in Bildern auslesen

In TIFF un JPEG Bildern besteht die Möglichkeit, einen Text in der
Bilddatei zu speichern.
(wer das nicht kennt kann sich ja mal im Graffikkonverter unter
Ablage/Dokumentinformationen die Daten anschauen)

Kennt jemand eine Möglichkeit an diese Informationen von RB aus
heranzukommen?

MfG, Metti.

- - - - - - - - - -
For list commands, send "Help" in the body of a message to
<<email address removed>>

Re: AW: Bermerkungen in Bildern auslesen
Date: 07.04.03 19:57 (Mon, 7 Apr 2003 19:57:06 +0100)
From: Stefan Mettenbrink
Ubr Werner <<email address removed>> wrote:

>Die Infos in den Bildern (JPEG, Photoshop etc) sind im IPTC Format
>bgelegt. Dafüpr gibts einen Standard.

So hatte ich das auch verstanden.

>habe dafür mal vor einigen Jahren eine Zugriffslibrary in C
geschrieben. Für die Norm am Besten in >Google unter IPTC nachsehen
(z_B. http://www.codeproject.com/bitmap/iptc.a_sp)

Äußerst interessant, allerdings für mich im Moment zu aufwändig.
Ich hatte gehofft, direkt mit RB auf den Teil zugreifen zu können. So
wie ich von RB auch das Pict gliefert bekomme. Oder das jemand ein
Plugin dafür hätte.

Danke für die Hilfe.

MfG, Metti.

- - - - - - - - - -
For list commands, send "Help" in the body of a message to
<<email address removed>>

Re: AW: Bermerkungen in Bildern auslesen
Date: 07.04.03 20:38 (Mon, 7 Apr 2003 21:38:22 +0200)
From: Stephan Stoske
Hi Stefan,

du brauchst dafür nicht zwingend ein PlugIn oder so,
die Formate sind beschrieben und nicht so komplex,
dass man sie nicht auch selber lesen könnte.

Hier z.B. für das TIFF-Format:
Sagen wir "f" ist das folderitem eines Tiffs, dann
machen wir das erstmal auf...

stream = f.openAsBinaryFile( false )
if stream = nil then
error = "Can't open the binaryfile!"
return
end if

Die ersten zwei Bytes geben die Byteorder an, Byte 3 und 4 sind
eine Magic-Number.

bo = stream.readShort
if bo = &h4d4d then // "MM" = Motorola
stream.littleEndian = false
elseif bo = &h4949 then // "II" = Intel
stream.littleEndian = true
else
error = "Not a TIFF file!"
stream.close
return
end if
if stream.readShort <> 42 then
error = "Not a TIFF file!"
stream.close
return
end if

Jetzt kommt als Long der Offset zum erstem IFD (Image File Directory),
das sind kleine Datenpakete.

IFD = stream.readLong
if IFD < 0 then
IFD = IFD + 4294967296
end if
if IFD < 8 or IFD >= stream.Length then
error = "Not a TIFF file? Wrong IFD-offset: " + str( IFD )
stream.close
return
end if

Jetzt können alle IFDs ausgelesen und interpretiert werden...

stream.position = IFD
cnt = stream.readShort - 1
for n = 0 to cnt
stream.position = IFD + 2 + n * 12
readIFD
next

Die Methode readIFD liesst das nächste IFD aus und überträgt
die gelesenen Daten in eigene Variablen, für die einzelnen Nummern
und deren Inhalte musst du nur noch in die TIFF-Doku sehen.

tag = stream.ReadShort
if tag < 0 then
tag = tag + 65536
end if
type = stream.readShort
count = stream.readLong

...Type ist der Typ der Daten, Count die Anzahl, bei mehreren
Daten, oder wenn sie länger als ein Long sind, dann ist der
Wert ein Zeiger.

select case tag

case 256 // ImageWidth, Type = 3/4, Count = 1
if count = 1 then
if type = 3 then
p_ImageWidth = stream.readShort
elseif type = 4 then
p_ImageWidth = stream.readLong
end if
end if

Beim Jpeg-Format ist das ähnlich, auch hier gibt es Datenpakete
mit entsprechenden Nummern und Inhalten. Einfach mal die Dokus
dazu lesen, ist nicht besonders schwer.

Grüße, Stephan

-------------------------------------------------------------------------
stoske & bertling - visuelle kommunikation
lohmühler berg 30 - 42553 velbert - fon 02053/504464 - fax 02053/923630
<email address removed> - www.stoske-bertling.de - ftp.stoske-bertling.de

- - - - - - - - - -
For list commands, send "Help" in the body of a message to
<<email address removed>>

Re: AW: Bermerkungen in Bildern auslesen
Date: 08.04.03 05:09 (Tue, 8 Apr 2003 05:09:02 +0100)
From: Stefan Mettenbrink
Stephan Stoske <<email address removed>> wrote:

>Beim Jpeg-Format ist das ähnlich, auch hier gibt es Datenpakete
>mit entsprechenden Nummern und Inhalten. Einfach mal die Dokus
>dazu lesen, ist nicht besonders schwer.

Liest sich super. Ich werde es mir demnächst mal näher ansehen.

Danke.

MfG, Metti.

- - - - - - - - - -
For list commands, send "Help" in the body of a message to
<<email address removed>>