Wie JPGComment / JPEG Kommentar mit FF bearbeiten?

DieterSto

Mitglied
Registriert
18.10.05
Beiträge
4
Ort
Zürich
Bisher suchte ich vergeblich nach einer Möglichkeit, in FF den JPGComment zu verändern.
Geht das wirklich nicht? In IrfanView&Co ist das kein Problem.

(Bis jetzt habe ich lediglich die Script-Funktion FF_GetJPGComment() finden können, aber das scheint mir auch nicht weiterzuhelfen.)

Danke,
Dieter
 
AW: JPGComment

Hallo Dieter,

im Active Scripting gibt es noch den Befehl FF_SetJPGComment(sText).

Allerdings gibt es kein offizielles User-Interface zum Beschreiben des JPG-Kommentars. Diese Funktionen sind auch nur zum Erhalten des Kommentars hinzugefügt worden.

Grund hierfür ist, dass die meisten den Exif-Kommentar benützen, da der Block ja schon bei Kamera-Bildern vorhanden ist.

Wenn Du einigermaßen skriptfest bist, kannst Du Dir jedoch selbst ein Interface mit InputBox oder den Skript-Dialogen dazu schreiben.
Ansonsten Mitstreiter suchen und einen Verbesserungsvorschlag daraus machen.
 
AW: JPGComment

Hallo Werner

besten Dank für die schnelle Antwort. Leider bin ich nicht skriptfest in FF.

Also Aufruf an alle: wäre jemand zu begeistern für eine solche Fingerübung?
Wäre super!

Tschüss,
Dieter
 
AW: JPGComment

DieterSto schrieb:
Bisher suchte ich vergeblich nach einer Möglichkeit, in FF den JPGComment zu verändern.

Vielleicht solltest du erstmal erklären, was das überhaupt ist (ich jedenfalls habe diesen Begriff noch nie gehört |) ) und was du dann damit machen willst.
 
AW: JPGComment

Funny schrieb:
Vielleicht solltest du erstmal erklären, [...] und was du dann damit machen willst.
Wenn ich IPTC und Exif habe, erschließt sich mir der Sinn des JPEG-Kommentars auch nicht so ganz
 
AW: JPGComment

Hallo!

JPEG-Kommentar: Im Prinzip wie EXIF und IPTC ein möglicher Datenblock im JPEG-Datei-Header, der ebenfalls 64 KB groß werden darf. Der Sinn ist zumindest dann gegeben, da was ändern zu wollen, wenn schon Bilder mit Kommentar existieren und auch, wenn weitere der Einheitlichkeit wegen so eine Beschreibung erhalten sollen.

Gruß,

Ralf
 
AW: JPGComment

Hallo Horst,

der JPGKommentar hat den Vorteil, dass
  1. auch ältere Programme damit klarkommen (sofern sie sich nicht selbst einschränken(Position, nur 1 Kommentar etc. )).
  2. Der Aufbau extrem einfach, sprich keinen zusätzlichen Verwaltungsplatz benötigen, auch keinen Blockkopf, wie Exif oder IPTC
  3. Auch binäre Daten enthalten kann(Automatisierte Weiterverarbeitung von Bildern in Datenbanken und Branchensoftware)
 
AW: JPGComment

Moin,

leider ist das Original-Skript von Jaques nicht mehr im Download erhältlich. Ich hoffe er hat es nicht zurückgezogen, sonst soll er bitte sich melden und protestieren, dann such ich nach Löschpapier. :)

Ich hab mir das von ihm für einen einzelnen Exif-Tag geschriebene Skript ganz einfach anpassen können und hab als Beispiel die von mir vorgenommenen Änderungen rot markiert. Ohne jetzt die FF-seitigen Parameter für JPGComment geprüft zu haben, behaupte ich mal, dass sich das Skript auch dafür leicht anpassen lassen müsste. Skripter vor und einen schnellen Blick geworfen. ;D

Das Skript hat einen in der Computer-Ansicht markierten Stapel Bilder mit der Tag-Eingabe bearbeitet. Sicherlich Dirty und nicht für jeden geeignet. Aber mir hat das in den Exif-Anfängen ungemein geholfen. Und dümmer geworden bin ich beim Anpassen auch nicht.
Testfeld aufgebaut, Editor gestartet und vor...!

Ein paar kundige Kommentare helfen Dieter bestimmt.
Oder ist weit mehr erforderlich und ich bin zu naiv. ;)
Sicher ist nicht Exif, sondern JPEG. Aber prinzipiell....

// angepasst auf <Make>
/*############################################################################
Programm: EditComment
Beschreibung: Bearbeiten der Bildbeschreibungen aller ausgewählten Bilder
Datum: Sonntag, 8. Juni 2003
Autor: Jacques.Nietsch@gmx.de
############################################################################*/

var g_fso;
var g_BoxName = "Kommentar";
var g_Current = 0;
var g_NumImages = 0;

g_fso = new ActiveXObject("Scripting.FileSystemObject");

g_NumImages = FF_GetImageCount();

fnOpenCommentBox();

//======================================================================================
function fnOpenCommentBox()
{
var nYPos = 3;
var nRand = 3;
var nCtrlHght = 10;

FF_AddDialog( g_BoxName , 300, 200 );

FF_AddControl( g_BoxName, 'Info', "EDIT", nRand, nYPos, 300-2*nRand, nCtrlHght );
FF_EnableControl( g_BoxName, 'Info', false );
nYPos += nCtrlHght + 3;

FF_AddControl( g_BoxName, 'Image', "IMAGE", nRand, nYPos, 150, 150);
nYPos += 150 + 3;

FF_AddControl( g_BoxName, g_BoxName, "STATIC", nRand, nYPos, 40, nCtrlHght);
FF_AddControl( g_BoxName, 'Comment', "EDIT", 45, nYPos, 250, nCtrlHght);
nYPos += nCtrlHght + 3;

FF_AddControl( g_BoxName, 'Zurück', "BUTTON", nRand, nYPos, 20, nCtrlHght);
FF_AddControl( g_BoxName, 'Weiter', "BUTTON", 25, nYPos, 20, nCtrlHght);

fnExecuteCommentBox();

FF_CloseDialog( g_BoxName );
}
//======================================================================================
function fnExecuteCommentBox()
{
var cImageName = "";
var cDescription = "";
var cNewDescription = "";
var cBaseName = '';
var cResult = "";
var lHasEXIF = false;

while ( cResult != 'OK' && cResult != 'CANCEL' )
{
cImageName = FF_GetImageName( g_Current );
cBaseName = g_fso.GetBaseName( cImageName );

FF_SetControl( g_BoxName, 'Info', (g_Current+1) + ' von ' + g_NumImages + ' : ' + cImageName );
FF_SetControl( g_BoxName, 'Image', cImageName );

FF_LoadExif( cImageName );
if ( lHasEXIF = FF_HasExif() )
{
cDescription = FF_GetExifTag( 'Make' );
}

FF_EnableControl( g_BoxName, 'Zurück', g_Current > 0 );
FF_EnableControl( g_BoxName, 'Weiter', g_Current < (g_NumImages-1) );
FF_EnableControl( g_BoxName, 'Comment', lHasEXIF );
FF_SetControl( g_BoxName, 'Comment', cDescription );

cResult = FF_ShowDialog( g_BoxName );
cNewDescription = FF_GetControl( g_BoxName, 'Comment' );

if ( cResult == 'Weiter' )
g_Current++;
if ( cResult == 'Zurück' )
g_Current--;
if ( cResult != 'CANCEL' )
fnSaveComment( cImageName, cDescription, cNewDescription );
}
}

//======================================================================================
function fnSaveComment( cImageName, cDescription, cNewDescription )
{
if ( cNewDescription != cDescription )
{
FF_SetExifTag( 'Make', cNewDescription );
FF_SaveExif( cImageName );
}
}
//======================================================================================
function fnMessageBox( cLabel, cText )
{
var cBoxName = "MESSAGEBOX";
var nYPos = 3;
var nCtrlHght = 12;
var cResult = "";

FF_AddDialog( cBoxName , 300, 50 );
FF_AddControl(cBoxName, cLabel, "STATIC", 3, nYPos, 25, nCtrlHght);
FF_AddControl(cBoxName, cText, "STATIC", 30, nYPos, 200, nCtrlHght);

cResult = FF_ShowDialog( cBoxName );
FF_CloseDialog( cBoxName );
}
 
Zurück
Oben