Löschen des EXIF-Feldes Kommentar unmöglich

AnTic

Mitglied
Registriert
28.10.02
Beiträge
56
Hallo zusammen,

in der Maske für die EXIF-Daten sind ja die Benutzerfelder durch FF editierbar. Daher kann ich jeden Eintrag ändern; oder auch löschen. Leider geht das Löschen nicht beim Feld Kommentar. Trotz 'leeren' des Feldes ist der Kommentar beim nächsten Betrachten der Informationen wieder drin.

Könnt ihr das bestätigen?

Grund meines Anliegens: ich möchte gerne bei einigen Feldern den Kommentar löschen, da dieser durch ein anderes Programm fehlinterpretiert wird.

Viele Grüße
AnTic
 
AW: Löschen des EXIF-Feldes Kommentar unmöglich

Hallo AnTic,

aufgrund von Userwünschen kann das Feld nicht gelöscht werden. Es muss mindestens ein Leerzeichen enthalten sein.

Löschen kann man es nur per Script: FF_SetExifTag("UserComment", "")
 
AW: Löschen des EXIF-Feldes Kommentar unmöglich

Hallo Werner,

vielen Dank für die Info.
Leider bin ich mit FF-Skript nicht sehr vertraut. Mein kleiner Versuch, ein Skript mit diesem befehl zu schreiben, läuft nicht.

Viele Grüße
AnTic
 
AW: Löschen des EXIF-Feldes Kommentar unmöglich

Hallo,

kleines Beispiel ohne Fehlerabfangroutinen.
Speichern unter DeleteUserComment.vbs und in FF importieren. Wie? Siehe meine Signatur.
Vor Script-Aufruf (via F10 oder Aufgabenbereich F9) betreffende Bilder markieren.

Code:
'* FFSubmenu=Exif
'* FFName=Kommentar löschen
Option Explicit

Main
Sub Main
	Dim i
	Dim lUBound
	Dim sFileName

	lUBound = FF_GetImageCount - 1

	For i = 0 To lUBound
		sFileName = FF_GetImageName(i)
		If FF_LoadExif(sFileName) Then
			If FF_HasExif() Then
				FF_SetExifTag "UserComment", ""
				FF_SaveExif sFileName
			End If
		End If
	Next
End Sub
 
AW: Löschen des EXIF-Feldes Kommentar unmöglich

Jacques Nietsch hat mal für die Bildbeschreibung ein solches Skript geschrieben, das ich einfach auf UserComment angepasst habe. Da es im Zubehörbereich nicht mehr zu finden ist (warum eigentlich, es läuft doch!) hier der Code:
Code:
//FFSubmenu=Exif
//FFName=EXIF UserComment editieren
//FFPath=Edit_UserComment.js
// angepasst auf <UserComment>
/*############################################################################
Programm:		EditComment
Beschreibung:	Bearbeiten der Bildbeschreibungen aller ausgewählten Bilder
Datum:			Sonntag, 8. Juni 2003
Autor:			Jacques.Nietsch@gmx.de
Das ursprünglich zum Editieren der Bildbeschreibung entwickelte Skript wurde
einfach durch Austausch der Tag-Bezeichnung auf 'UserComment' angepasst.
############################################################################*/

var g_fso;
var g_BoxName		= [COLOR="sandybrown"]"Inhalt"[/COLOR];
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( [COLOR="SandyBrown"]'UserComment'[/COLOR] );
		}

		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( [COLOR="sandybrown"]'UserComment'[/COLOR], 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 );
}

Ich glaube nicht, dass es Fehler abfängt. Dafür nimmt es alle in der Computeransicht markierten Bilder.
Da es sehr einfach auch auf andere Tags anzupassen ist, hab ich meine Änderungen gefärbt. Es sind nur 3 Stellen. ;)
Wer anpasst, sollte aber schon etwas von Exif kennen. Und FF sorgt sowieso dafür, dass nicht jedes Feld angesprochen werden kann.
Benutzung auf eigene Gefahr. Aber keine Sorge Jacques hat beruflich mit sowas zu tun... ;)
 
AW: Löschen des EXIF-Feldes Kommentar unmöglich

Ich bin zwar ein Freund von JavaScript
aber in diesem Falle würde ich das Beispiel von Werner vorziehen.
Das ist dagegen "quick and beauty", allein schon weil das "Weiter"-Klicken entfällt.

Und wer jedem Bild einen eigenen Kommentar vergeben will, kann das auch direkt
im FF-Bildinformation-Dialog tun.
 
AW: Löschen des EXIF-Feldes Kommentar unmöglich

Vielen Dank an alle,

beide Routinen laufen, den Kommentar bin ich los. Die Stapelverarbeitung wäre natürlich noch weniger Aufwand gewesen.

Grüße
AnTic
 
Zurück
Oben