Zurück zur cPicture-Startseite
cPicture unterstützt Funktions-Zusatzmodule, die ausgewählte Bilder extern bearbeiten/anzeigen
können.
Dieses Funktions-Zusatzmodul ruft das Skript cPicture.bat mit 5 Parametern auf.
Beispiel für cPicture.bat :
@echo OFF
echo name =%1
echo file =%2
echo path =%3
echo width =%4
echo height=%5
pause
Beispielausgabe:
name ="C:\Documents and Settings\jurgene\Desktop\cPicture\IMG_6038.JPG"
file ="IMG_6038.JPG"
path ="C:\Documents and Settings\jurgene\Desktop\cPicture\"
width =2272
height=1704
Download Funktions-Zusatzmodul
(88KB)
Installation: Funktions-Zusatzmodule werden einfach in das gleiche Verzeichnis wie
cPicture kopiert. Legen Sie ihre Skriptdateien auch im gleichen Ordner ab.
Maximal können 10 Skripte geladen werden.
Ein Funktions-Zusatzmodul kann entweder direkt für ausgewählte Bilder gestartet werden:
oder in einer Aktion ausgeführt werden:
Ein Funktions-Zusatzmodul wird in 3 Schritten aufgerufen.
Folgendes Beispiel gibt für jeden Schritt ein entsprechendes Nachrichtenfenster
aus.
Schritt 1:
Die Funktion start(...) wird mit einer Liste aller ausgewählten Bilder aufgerufen.
Im ersten Beispiel werden alle Bilder in einem Nachrichtenfenster ausgegeben:
struct request_info
__stdcall CFunctionPluginSample1::start(HWND
hwnd, const
vector<const
TCHAR*>& file_list) { CString list(_T("start\n------\n")); for(vector<const TCHAR*>::const_iterator it = file_list.begin(); it != file_list.end(); ++it) { list += *it; list += _T("\n"); } AfxMessageBox(list, MB_ICONINFORMATION); return request_info(); } |
Schritt 2:
Für jedes einzelne ausgewählte Bild wird die Funktion process_picture(...) aufgerufen:
bool
__stdcall CFunctionPluginSample1::process_picture(const
picture_data& _picture_data) { const CString msg(_T("process picture:\n")); AfxMessageBox(msg + _picture_data.m_name, MB_ICONINFORMATION); return
true; |
Mit dem Rückgabewert von start(...) kann für jedes einzelne Bild zusätzliche
Bilddaten bereitgestellt werden.
Damit lassen sich sehr einfach externe Anzeigeanwendungen erstellen (siehe Beispiele
unten) oder auch einfach nur ein Skript oder externes Programm aufrufen.
Wird 'false' in process_picture(...) zurückgegeben, wird die Ausführung beendet.
Schritt 3:
Zum Schluss wird die Funktion end() aufgerufen:
const vector<update_info>&
__stdcall CFunctionPluginSample1::end()
{ AfxMessageBox(_T("end"), MB_ICONINFORMATION); return m_update_info; } |
Mit dem Rückgabewert wird festgelegt, welche Bilder geändert/gelöscht oder hinzugefügt
wurden.
cPicture passt dann entsprechend die Anzeige an.
Download Source code (9KB), Funktions-Zusatzmodul
(148KB)
Folgende zwei Beispiele zeigen weitere Anwendungsmöglichkeiten.
Dieses Beispiel zeigt eine einfache Bildanzeige:
Download Source code (12KB), Funktions-Zusatzmodul
(176KB)
Dieses Beispiel zeigt ein Bestellprogramm für Bilder:
(Dieses Beispiel ist nicht funktionsfähig, d.h. es können keine Bilder bestellt
werden, sondern dient nur als Programmvorlage.)
Download Source code (14KB), Funktions-Zusatzmodul
(192KB)