• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
WERBUNG

DPP - Bildübergabe, "Zu Photoshop übertragen" und Fremdprogramme

Graukater

Themenersteller
Hallo zusammen!

Die Firma Canon liefert mit ihren DSLRs den kostenlosen RAW-Konverter "Digital Photo Professional" aus - oder kurz: DPP. Wer dieses Programm nutzt, wird wahrscheinlich wissen, dass DPP einen Menüpunkt "Extras" - "Zu Photoshop übertragen" bietet, und darauf auch einen Schnellzugriff per Tastenkürzel (Alt+P) gestattet. Mit Hilfe dieser Funktion lässt sich die aktuelle Bilddatei in einem möglichst 'verlustfreien' Format (16-Bit-TIFF) komfortabel an Photoshop übertragen und dort für die weitere Bearbeitung nutzen.

Nun nutzt bzw. besitzt aber nicht jeder Photoshop. Bedauerlicherweise sieht Canon (zumindest bislang) keine Möglichkeit vor, die Ziel-Anwendung frei zu definieren. Allerdings kann man DPP mit ein paar Tricks auch überreden, andere Programme per Alt+P zu starten.

Damit die Übersicht gewahrt bleibt, habe ich mich entschieden, das Ganze aufzuteilen:

Teil 1 - Alternative: Batchverarbeitung
Teil 2 - Der DPP-Funktion fremde Programme unterjubeln
Teil 3 - Hinter den Kulissen

Gruß, Graukater
 
Zuletzt bearbeitet:
Teil 1 - Alternative: Batchverarbeitung

Unabhängig von der Alt+P - Übertragungsfunktion bietet DPP eine weitere, alternative Möglichkeit um externe Programme zu starten. Diese verbirgt sich im Dialog für die Batch-Verarbeitung (Strg+B). Mit Hilfe dieser Stapelverarbeitung kann DPP ein oder mehrere Bilder 'in einem Rutsch' konvertieren, zugleich besteht im unteren Teil des Dialogfensters aber auch die Möglichkeit, ein Programm festzulegen, das dann für jede ausgegebene Datei gestartet wird (jeweils einmal, wobei DPP den Dateinamen der Ausgabedatei als Parameter übergibt). Das funktioniert übrigens nicht nur mit .exe-Dateien, sondern z.B. auch mit selbstgeschriebenen .cmd.

Natürlich ist das ggf. ein wenig umständlicher als kurz Alt+P zu drücken, dafür aber flexibler.

Dieser Weg lässt sich unter anderem auch nutzen, wenn Photoshop vorhanden/installiert (und damit Alt+P entsprechend belegt) ist, oder wenn man unterschiedliche Programme nutzen möchte, ohne jedesmal gleich umständlich an der Konfiguration herum zu schrauben.
 
Teil 2 - Der DPP-Funktion fremde Programme unterjubeln

Kommen wir zum spannenden Teil: Wie kriegt man DPP dazu, mit Alt+P nahezu beliebige Programme auszuführen?

Eine Warnung vorweg: Diese Vorgehensweise eignet sich eigentlich nur dann, wenn auf dem PC kein Photoshop installiert ist / genutzt wird. Der Aufruf des Originalprogramms setzt nämlich ggf. den für DPP 'verbogenen' Konfigurationseintrag (ApplicationPath) wieder auf den Standardwert zurück.

Nützliche Informationen zu diesem Vorhaben finden sich (in Englisch) auf http://digitol.free.fr/forum/viewtopic.php?f=2&t=22. Dort kann man eine Reihe von Erkenntnissen gewinnen:

a) DPP stellt den Menüpunkt / das Tastenkürzel nur zur Verfügung, wenn es ein installiertes Photoshop zu erkennen glaubt.
b) DPP startet über Alt+P prinzipiell nur .exe-Programme, und diese müssen zwangsläufig photoshop.exe heißen.
c) Den Pfad zu der ausführbaren / zu startenden Datei entnimmt DPP der Windows-Registry. In einer normalen Photoshop-Installation ist an dieser Stelle eben das PS-Programmverzeichnis zu finden.

Schlussfolgerung: Wenn man dafür sorgt, dass die Bedingungen in a) und b) erfüllt sind, kann man DPP mit Hilfe von c) dazu bringen, auch 'fremde' Programme zu starten.

Zu a): Um DPP ein installiertes Photoshop vorzutäuschen und so den Menüpunkt "Zu Photoshop übertragen" freizuschalten, reicht es - so wie auf der verlinkten Seite beschrieben - einen bestimmten Schlüssel in der Registry anzulegen. Alternativ einfach das hier als .reg-Datei abspeichern und importieren:
Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{6DECC242-87EF-11CF-86B4-444553540000}\ProgID]
@="Photoshop.Application"

Zu b): Die Sache mit dem erforderlichen Dateinamen (photoshop.exe) ist nicht zu ändern - also greift man am besten zur naheliegendsten Lösung: vom zu startenden Programm wird einfach eine entsprechende Kopie erstellt. Soll DPP beispielsweise GIMP starten, wo wird einfach (im entsprechenden Programmverzeichnis) eine Kopie der gimp-2.6.exe erstellt und in photoshop.exe umbenannt.

Zu c): Das Verzeichnis des gewünschten Programmes ermittelt DPP aus dem Wert für HKLM\SOFTWARE\Adobe\Photoshop\<Version>\ApplicationPath, den man mit Hilfe des Windows-Registry-Editors beliebig setzen/ändern kann. <Version> steht dabei eigentlich für die jeweilige PS-Versionsnummer, lässt sich meinen Versuchen zufolge aber nahezu beliebig gestalten. Statt einer 'richtigen' Nummer funktioniert beispielsweise auch "DPP".

Dabei ist zu beachten, dass für 64Bit-Versionen von Windows dieser Eintrag an einem abweichenden Ort gespeichert werden muss, weil DPP (als 32Bit-Anwendung) ihn andernfalls nicht finden kann. Auch das Standardverzeichnis für Programme weicht evtl. ab.

Für ein 64Bit-Windows (x64) also z.B.:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\Photoshop\DPP]
"ApplicationPath"="C:\\Program Files (x86)\\GIMP-2.0\\bin"
während das für ein 32Bit-Windows (x86) dann etwa so aussehen würde:
Code:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop\DPP]
"ApplicationPath"="C:\\Program Files\\GIMP-2.0\\bin"
Die Pfad-Angaben müssen natürlich ggf. entsprechend angepasst werden.

Wenn die Einträge richtig gesetzt sind und alles klappt, müsste DPP nach dem nächsten Start die Übertragungsfunktion freigeben, und nach einem Druck auf Alt+P sollte sich nach kurzer Zeit das gewünschte Programm (im Beispiel GIMP) mit dem aktuellen Bild öffnen. :cool:
 
Zuletzt bearbeitet:
Teil 3 - Hinter den Kulissen

Was geschieht dabei im Einzelnen?

Falls die Übertragungsfunktion in DPP aktiv ist [siehe oben: a)], startet der Übergabe-Vorgang, sobald Alt+P gedrückt oder der entspechende Menüpunkt ausgewählt wird.

DPP exportiert daraufhin das aktuelle Bild (mit den derzeitigen Entwicklungseinstellungen) als .TIF-Datei. Dies geschieht grundsätzlich im unkomprimierten TIFF-Format mit 16 Bit Farbtiefe pro Kanal - also in 'höchstmöglicher' Qualität, was zugleich auch entsprechend große TIF-Dateien bedeutet. Die Dateien werden in einem temporären Verzeichnis (%APPDATA%\Canon\Genzo\PStemp) unter eindeutigen Pfadnamen erzeugt, und im Verlauf einer DPP-Sitzung auch nicht wieder gelöscht. Das Aufräumen dieses Verzeichnisses erledigt DPP erst wieder beim nächsten Start, dabei werden dann sämtliche temporären TIF-Dateien wieder entfernt - sie sind also am ursprünglichen Ort nicht dauerhaft gespeichert! Die Ergebnisse etwaiger Bearbeitungen in Photoshop oder anderen Fremdprogrammen sollte man also auf jeden Fall speichern, vorzugsweise in einen anderen Ordner (und ggf. auch in platzsparenderen Dateiformaten).

Dieser Vorgang ist unabhängig vom anschließenden Programmaufruf, d.h. DPP erstellt die .TIF-Datei in jedem Fall. Erst im Anschluss daran wird der dabei erzeugte Dateiname beim Start an die jeweilige Anwendung übergeben (was im Normalfall bewirkt, das die Bilddatei geöffnet und angezeigt wird). Schlägt der Programmstart von Photoshop (bzw. der 'untergeschobenen' Fremdanwendung) fehl, so erfolgt eine entsprechende Fehlermeldung. (In diesem Fall sollte der Registry-Eintrag für ApplicationPath überprüft und sichergestellt werden, dass sich im dort angegebenen Ordner eine "photoshop.exe" befindet.)
___

Gruß, Graukater
 
Danke für den Tipp!
Eine solche Möglichkeit der Dateiübergabe an ein Bildbearbeitungsprogramm außer Photoshop habe ich schon lange gesucht.

Mit DPP 3.10.2 und Photoshop Elements 7.0 (das ganze unter Windows XP) funktioniert die Sache bei mir einwandfrei.

Mit der zweiten REG-Datei hatte ich allerdings Schwierigkeiten, sie erzeugte den erforderlichen ApplicationPath-Eintrag nicht. Nach manueller Bearbeitung der Registry lief es aber.


Helmut

Edit:
Der Fehler bei der zweiten REG-Datei lag bei mir. Man muss die Backslashes doppelt setzen, wie in dem Code von Graukater!
 
Zuletzt bearbeitet:
Hallo miteinander,

bei mir will das nicht richtig unter XP klappen. DPP will das Photoshop einfach nicht finden. Könntet Ihr mir mal bitte die Pfadangabe für Windows XP und PSE 8 nennen. Das wäre sehr nett. Danke.

LG,

Thomas
 
Welche Versionen von DPP und XP (32/64 Bit) nutzt Du? Normalerweise sollte Elements unter %PROGRAMFILES%\Adobe\Photoshop Elements 8\ installiert sein, also z.B. C:\Programme\Adobe\Photoshop Elements 8\. Das ist der Pfad, den Du als ApplicationPath eintragen musst, für ein 32Bit-XP am zweckmäßigsten unter HKEY_LOCAL_MACHINE\SOFTWARE\ADOBE\Photoshop\PSE8\. Kontrolliere das am besten per Registry-Editor (regedit.exe) bzw. führe die Eintragung dort von Hand durch.

Welche Fehlermeldung zeigt DPP?

"Photoshop.exe" konnte nicht gefunden werden ohne eine Pfad-Angabe vor dem Photoshop.exe (oder auch nur ein lapidares "Photoshop konnte nicht gestartet werden") deutet darauf hin, dass ApplicationPath nicht gesetzt ist bzw. nicht dort (Pfad zum Registry-Schlüssel), wo DPP das erwartet.

"C:\Mein\Verzeichnis\Photoshop.exe" konnte nicht gefunden werden mit dem per ApplicationPath definierten Pfad besagt, dass am angegebenen Ort wahrscheinlich keine Photoshop.exe vorhanden ist. Du hast daran gedacht, eine Kopie der entsprechenden PSE-Datei unter diesem Dateinamen zu erstellen? (Müsste PhotoshopElements.exe oder PhotoshopElementsEditor.exe sein, je nach Version.)

Gruß, Graukater
 
Zuletzt bearbeitet:
Aah, jetzt ja! Jetzt geht es, nachdem ich direkt im Regedit den Wert eingefügt habe.

Ich glaube, das das Einfügen über Deine RegDatei keinen Standardwert eingefügt hat. Im Editor fand ich unter Photoshop den Schlüssel DPP, worin der Standardwert nicht gesetzt war. Darunter stand als zweiter Wert Dein Application Path. Ich habe nun händisch den Schlüssel PSE 8.0 hinzugefügt und darin den Application Path als Standard gesetzt und siehe da, es klappt!!

Danke für Deine Mühe und die ausführliche Erklärung.

LG,

Thomas
 
DPP 3.11.10 und Photoshop CS6 wollten nicht zusammen, Feld zu Photoshop übertragen immer ausgegraut.
Neuinstallationen, CS starten, nicht starten....half alles nichts.

Der Link in Post #3 (nur zufügen des Eintrag in "zu a.") half und nun auch zu 64bit CS6

Danke(y)
 
Zuletzt bearbeitet:
Hallo, bin am Verzweifeln: bei mir klappt das nicht!
Ich habe Windows 7 und DPP in Version 3.11.31.0 (deutsch). Ich möchte gerne wie hier beschrieben Blder weitergeben an Photoshop Elements, meine Version ist 9.0.

Was ich gemacht habe: PhotoshopElementsEditor.exe kopiert und in Photoshop.exe umbenannt. Mit dieser Datei kann ich Elements auch starten, wenn ich sie anklicke.

Den ersten Schritt, Freigabe der Weiterleitung, habe ich gemacht wie oben wie beschrieben.

Den zweiten Schritt habe ich ebenfalls über eine Reg-Datei vollzogen (in Word kopiert, Dateipfad angepasst, als txt abgespeichert, umbenannt in .reg, angeklickt - hat funktioniert, Registry entsprechend erweitert.

Aber es klappt nicht! Wenn ich in DPP die Funktion aufrufe, bekomme ich folgende Fehlermeldung: "C:\Program Files\Photoshop Elements 9 \Photoshop.exe" konnte nicht gefunden werden."

Aber diese Datei liegt in dem Verzeichnis und startet trotzdem nicht!

Ich finde einfach den Fehler nicht, meinen Eintrag in die Registry habe ich als Bild eingefügt (ich weiß nicht, wie das anders geht).

Weiß jemand, was ich falsch mache?
 
Hallo Nordlicht!

Hast Du evtl. ein 64Bit-Windows? In dem Fall könntest Du probieren, das Programm-Verzeichnis evtl. abweichend angegeben werden muss: 32Bit-Anwendungen landen normalerweise in "Program Files (x86)" statt in "Program Files".

Gruß, Graukater
 
Hi Jens!

Hmmm... Vielleicht ein (Zugriffs-)Rechte-Problem? Zum Test könntest Du evtl. mal DPP per Rechtsklick und "Als Administrator ausführen" starten. Wenn das aber auch nicht hilft, gehen mir leider so langsam die Ideen aus.

[EDIT] Oha - STOP! Ich habe gerade nochmal Deinen Registry-Screenshot genauer angeguckt - kann es sein, dass Du da ein Leerzeichen vor Adobe stehen hast, das da nicht hingehört? ;) (Außerdem stimmt die von Dir angegebene Fehlermeldung nicht exakt mit dem ApplicationPath-Eintrag überein.)

Gruß, Graukater
 
Zuletzt bearbeitet:
Ich wurde gerade auf diesen Thread aufmerksam gemacht und habe es ausprobiert. Dabei bin ich, glaube ich, auf etwas Interessantes gestoßen. (In meinem Fall habe ich nicht Gimp verlinkt, sondern PhotoLine. Dürfte aber keinen großen Unterschied machen.)
Diese Vorgehensweise eignet sich eigentlich nur dann, wenn auf dem PC kein Photoshop installiert ist / genutzt wird. Der Aufruf des Originalprogramms setzt nämlich ggf. den für DPP 'verbogenen' Konfigurationseintrag (ApplicationPath) wieder auf den Standardwert zurück. [...]
<Version> steht dabei eigentlich für die jeweilige PS-Versionsnummer, lässt sich meinen Versuchen zufolge aber nahezu beliebig gestalten. Statt einer 'richtigen' Nummer funktioniert beispielsweise auch "DPP"
Ich habe den Pfad zunächst so eingefügt wie vorgeschlagen. Das hat nicht geklappt. DPP rief trotzdem immer das echte Photoshop auf (ich habe noch eine alte Version installiert).
Dann kam ich auf die Idee, als "Version" nicht wie vorgeschlagen "DPP", sondern eine höhere Versionsnummer als meine Photoshop-Version anzugeben. Und das hat einwandfrei geklappt. Auch der Gegentest funktioniert: Wenn ich eine niedrigere Versionsnummer einsetze, ruft DPP wieder Photoshop auf.
Also offenbar ruft DPP immer die vermeintlich neueste der installierten Photoshop-Versionen auf. Demnach genügt die Vergabe einer höheren Versionszahl, um trotz installiertem Photoshop von DPP aus ein anderes Programm aufrufen zu lassen.

Der Aufruf meiner Photoshop-Version hat bisher übrigens nicht zu Änderungen an der Registry geführt. Also der Pfad blieb erhalten. Langzeit-Erfahrungen fehlen natürlich noch.
 
Hallo beiti!

Das ist interessant; Danke für die Ergänzungen. Ich hatte damals auch immer nur mit einem einzigen Eintrag getestet. PhotoShop ändert ggf. vermutlich genau die ApplicationPath-Angabe, die auch zur tatsächlich installierten Version gehört - Konflikte gäbe es also nur dann, wenn man für DPP auch ausgerechnet diesen Eintrag auf ein anderes Programm zeigen lassen möchte.

Gruß, Graukater
 
Ich habe PSE 10 und PSE 11 parallel installiert und die Registry-Einträge wie oben beschrieben so verändert, dass die Bildübergabe an PSE 11 erfolgt.
Nach zusätzlicher Installation von CS2 habe ich, wie von Beiti vorgeschlagen, in der Registry den Eintrag "DPP" durch "11" ersetzt.

Ergebnis:
Die Bildübergabe erfolgt wie bisher an PSE11, offensichtlich unbeeinflusst von CS2. Selbst bei gleichzeitig geöffnetem CS2 gibt es keine Konflikte.

Danke an Beiti für diesen Tipp!


Helmut

Edit:

Änderung der "11" in "8" (CS2 enthält Photoshop 9) führt, wie zu erwarten war, zur Bildübergabe an Photoshop anstelle PSE11. Es wird also, wie von Beiti vermutet, offensichtlich immer das Photoshop (oder das umbenannte PSE) mit der höchsten Versionsnummer gestartet.

Edit2:

Ich habe XP prof. 32 Bit auf meinem Rechner.
 
Zuletzt bearbeitet:
Ich habe inzwischen noch diverse Versuche gemacht und hatte einige Neustarts des Systems und der einzelnen Programme, aber es funktioniert immer noch, und auch an der Registry scheint sich nichts mehr zu ändern.
Das ist erstaunlich angesichts meines zerklüfteten Systems (Win 7-64) mit vielen installierten und deinstallierten Testversionen, alten und neuen Programmversionen etc.

Den entsprechenden Registry-Eintrag habe ich inzwischen "20.0" genannt, um erst mal auf der sicheren Seite zu sein. ;)

Der einzige Nachteil des Verfahrens, den ich bisher ausmachen konnte: Wenn ich künftig eine neue Version meines Bildbearbeitungsprogramms (PhotoLine) installiere, muss ich deren EXE-Datei wieder neu im Programmordner kopieren und umbenennen, damit aus DPP heraus nicht weiter die (kopierte) alte Version gestartet wird.
Oder vielleicht fällt dazu noch jemandem eine Lösung ein? Ich verstehe leider nichts vom Programmieren. Eventuell könnte man eine spezielle photoshop.exe-Datei einsetzen, die nur zur korrekten Programmdatei weiterleitet?
 
Also ich bräuchte mal generell Hilfe. Weil mein DPP erkennt den installierten PSE 10 mal überhaupt nicht.
Wie macht man das es funzt ? unter Windows 7...

Danke
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten