Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Alpha-Kanal auf ausgewähltes Bild anwenden

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Alpha-Kanal auf ausgewähltes Bild anwenden

Hans Haesler
Beiträge gesamt: 5826

25. Jan 2015, 20:06
Beitrag # 1 von 8
Bewertung:
(4506 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo InDesign-Fans,

das Forumsmitglied NEU! postete in der Skriptwerkstatt sein Anliegen: Ein Script, mit welchem ein im aktivierten Bild enthaltener Alpha-Kanal zugewiesen werden kann.

Das ginge zwar auch manuell, wäre aber etwas umständlicher.

Weil NEU! beim Scripten selbst Hand anlegen wollte, bevorzugte er eine AppleScript-Lösung. Deshalb wurde das Thema ins entsprechende Forum verschoben: http://www.hilfdirselbst.ch/..._P536108.html#536108

Es könnte aber auch sein, dass jemand diese Lösung unter Windows einsetzen möchte. Deshalb nachstehend der nach JavaScript portierte Code.

Gebrauchsfertige Dateien des JavaScripts gibt es auch hier: http://www.fachhefte.ch / Links "JavaScripts", "Mac OS X deutsch" (oder "Windows deutsch"), "InDesign CS2" bis "InDesign CS5". Letztere sollte auch mit CS5.5, CS6, CC und CC (2014) funktionieren.

Code
//AlphaKanalWahl_501d.js 
//© 25.01.15 / Hans Haesler, Châtelard 52, CH-1018 Lausanne
//DESCRIPTION:Einen Alpha-Kanal zuweisen

// vorbeugenderweise das Anzeigen von Dialogen aktivieren
app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;

// testen, ob ein Dokument geöffnet ist
if (app.documents.length == 0) {
alert ("Ein Dokument öffnen.", "Achtung", true);
exit();
}

// die Auswahl speichern ...
var curSel = app.selection;
var nItems = curSel.length;
// ... und prüfen
if (nItems == 0) {
alert ("Es ist nichts ausgewählt.", "Stop", true);
exit();
}
// testen, ob ein Bildrahmen oder ein Bild ausgewählt ist
// und den Pfad zur Bilddatei speichern
var objType = curSel[0].constructor.name;
if (objType == "Rectangle" || objType == "Polygon" || objType == "Oval") {
try {
var curObj = curSel[0].images[0];
var curLink = curObj.itemLink;
var curPath = curLink.filePath;
}
catch (e) {
alert ("Der Bildrahmen ist leer.", "Stop", true);
exit();
}
}
else if (objType == "Image") {
var curObj = curSel[0];
var curLink = curObj.itemLink;
var curPath = curLink.filePath;
}
else {
alert ("Bitte ein Bild auswählen.", "Achtung", true);
exit();
}
// den Status der Verknüpfung feststellen ...
var curStatus = curLink.status*1;
// ... und prüfen
if (curStatus == 1819109747) {
alert ("Die Bilddatei existiert nicht.", "Stop", true);
exit();
}
else if (curStatus == 1819242340) {
alert ("Zuerst die Verknüpfung aktualisieren.", "Achtung", true);
exit();
}
// die Alpha-Kanäle auflisten
var alphaNames = curObj.clippingPath.alphaChannelPathNames;
// die Anzahl Alpha-Kanäle prüfen
if (alphaNames.length == 0) {
alert ("Das Bild enthält keinen Alpha-Kanal.", "Stop", true);
exit();
}
// eventuell im Speicher vorhandene Dialoge entfernen
try {
app.dialogs.everyItem().destroy();
}
catch (e) {
}
// den Dialog vorbereiten ...
var aDialog = app.dialogs.add({name:"Den Alpha-Kanal wählen:"});
with (aDialog) {
with (dialogColumns.add()) {
var alphaDrop = dropdowns.add({stringList:alphaNames, selectedIndex:0});
}
}
// ... und anzeigen
if (aDialog.show() == true) {
// den gewählten Artikel feststellen
var curAlpha = alphaNames[alphaDrop.selectedIndex];
// den Dialog aus dem Speicher entfernen
aDialog.destroy();
}
else {
aDialog.destroy();
exit();
}
// die Vorgaben einstellen
app.imageIOPreferences.alphaChannelName = curAlpha;
// das Bild erneut importieren
curSel[0].place(File(curPath));

Interessant für Scripter: Währenddem mit dem AppleScript nach dem Importieren ein explizites 'relink' notwendig ist, um den Bildschirm aufzufrischen, genügt mit dem JavaScript das Laden des Bildes.

Übrigens: Das Problem war vor fünf Jahren schon ein Mal diskutiert worden: http://www.hilfdirselbst.ch/..._P430187.html#430187
Schade, dass ich dies erst heute entdeckt habe. Denn das hätte mir etliche Irrungen und Wirrungen erspart ...

Gruss, Hans
X

Alpha-Kanal auf ausgewähltes Bild anwenden

Hans Haesler
Beiträge gesamt: 5826

25. Feb 2015, 13:21
Beitrag # 2 von 8
Beitrag ID: #537415
Bewertung:
(4253 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo InDesign-Fans,

das oben gepostete Script hat ein kleines Problem:
Wenn ein Bildrahmen ausgewählt ist, welcher ein PDF enthält, behauptet der Dialog, dass der Rahmen leer ist.
Mit der Version x02 ist das korrigiert.

Eine zweite Änderung: In der Auswahl der Alpha-Kanäle gibt es zusätzlich den Artikel keinen.
Damit kann das Bild ohne Maske geladen werden.

Nochmals der Link: http://www.fachhefte.ch / Links "JavaScripts", "Mac OS X deutsch" (oder "Windows deutsch"), "InDesign CS2" bis "InDesign CS5". Letztere sollte auch mit CS5.5, CS6, CC und CC (2014) funktionieren.

@ Scripter ... Das erwähnte Problem probiere ich hier zu erklären: http://www.hilfdirselbst.ch/...i?post=537414#537414

Gruss, Hans


als Antwort auf: [#536269]

Alpha-Kanal auf ausgewähltes Bild anwenden

NEU!
Beiträge gesamt: 180

21. Dez 2017, 09:31
Beitrag # 3 von 8
Beitrag ID: #561554
Bewertung:
(3199 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Hans,

Ohje, Zeiten ändern sich und wir haben ein neues DAM, Cumulus von Canto. Prizipiell Grund zur Freude. Und ich hab mich so sehr daran gewöhnt, eben flink von Bildern ohne aktivierten Alpha zu Freisteller-Darstellung wechseln zu können.

Heute Morgen stelle ich aber mit Erschrecken fest: Das feine Script läuft nicht mehr, da die Links jetzt nicht mehr auf lokale Dateien zeigen, sondern z.B.


Name 44053-44054-44055-44056-44057_002_Graues Shirt_Sommer.tif
Seite 1
Skalieren 18.6%
Pfad cumulus://192.168.96.116:9287/Products/AssetRecords/6025
Format TIFF
Platzierungsdatum Donnerstag, 21. Dezember 2017 09:02
Geändert Montag, 31. Juli 2017 12:41
Erstellungsdatum Freitag, 9. Mai 2014 11:55


mit einer Serveradresse arbeiten. Die Script-AlphaKanal-Auswahl-Dialog liest die möglichen Alphas noch korrekt aus, doch dann gibts folgenden Fehler:

Fehlerzeichenfolge: "/Volumes/Macintosh HD:192.168.96.116/9287:Products:AssetRecords:6025" kann nicht gefunden werden.
Zeile 90, Quelle: curSel[0].place(File(curPath));


Habs getestet mit InD CC 2017.0 auf OSX 10.12.6

Jetzt meine Frage:
Ist da überhaupt was zu machen, oder müsste man dazu irgendwie mit dem Hersteller zusammenarbeiten, um die Links aufzulösen? Wer bringt InDesign die Technik auf externe Links bei, das PlugIn? Und welches wäre die richtige Frage an den Canto-Support?

Ich hoffe du kannst mir irgendwie weiterhelfen…
Wenn nicht aber schonmal einen schönen Gruß und Fröhliche Weihnachten dann aus Norddeutschland :)


als Antwort auf: [#537415]
(Dieser Beitrag wurde von NEU! am 21. Dez 2017, 09:33 geändert)

Alpha-Kanal auf ausgewähltes Bild anwenden

Hans Haesler
Beiträge gesamt: 5826

21. Dez 2017, 10:36
Beitrag # 4 von 8
Beitrag ID: #561555
Bewertung:
(3171 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo NEU!,

wie sieht es mit dem AppleScript aus? Vermutlich dasselbe Problem?

Ich werde mal ein Testscript schreiben und es Dir per PM zustellen.

Gruss, Hans


als Antwort auf: [#561554]

Alpha-Kanal auf ausgewähltes Bild anwenden

Thomas Richard
Beiträge gesamt: 19327

21. Dez 2017, 15:15
Beitrag # 5 von 8
Beitrag ID: #561559
Bewertung:
(3117 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Pfad cumulus://192.168.96.116:9287/Products/AssetRecords/6025

...

Fehlerzeichenfolge: "/Volumes/Macintosh HD:192.168.96.116/9287:Products:AssetRecords:6025" kann nicht gefunden werden.


Der Pfad scheint mit dem enthaltenen, per Doppelpunkt abgetrennten Port nicht zurecht zu kommen.
In der Fehlermeldung ist der erste Teil des Pfades gemäß POSIX ausgezeichnet, ab dem Port 9287 gehts aber per AFP Nomenklatur, sprich Doppelpunkt als Verzeichnistrenner weiter!?


als Antwort auf: [#561554]
(Dieser Beitrag wurde von Kai Rübsamen am 21. Dez 2017, 17:11 geändert)

Alpha-Kanal auf ausgewähltes Bild anwenden

Hans Haesler
Beiträge gesamt: 5826

21. Dez 2017, 16:39
Beitrag # 6 von 8
Beitrag ID: #561560
Bewertung:
(3101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

besten Dank für Deine Erklärung.

Mit meinem Testscript klappte es auch nicht. War ja vorauszusehen.
Ohne das PlugIn wird es kaum möglich sein, eine Lösung zu finden.

Sehr wahrscheinlich wird sich NEU! an den Support von Canto wenden müssen,
in der Hoffnung, dass denen das Problem bereits bekannt ist.

Gruss, Hans


als Antwort auf: [#561559]

Alpha-Kanal auf ausgewähltes Bild anwenden

Uwe Laubender
Beiträge gesamt: 5316

21. Dez 2017, 17:04
Beitrag # 7 von 8
Beitrag ID: #561561
Bewertung:
(3093 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

klappt (wenigstens) so etwas?

Benutzer wählt Grafikrahmen mit Bild aus.
Dann folgendes Schnipsel starten:

Code
var file = app.selection[0].graphics[0].itemLink.filePath; 
alert( file.exists );


Ich würde jetzt mal true als Antwort im alert erwarten.


als Antwort auf: [#561560]

Alpha-Kanal auf ausgewähltes Bild anwenden

Hans Haesler
Beiträge gesamt: 5826

21. Dez 2017, 17:21
Beitrag # 8 von 8
Beitrag ID: #561562
Bewertung:
(3072 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für Dein Mitraten.

Das Holen des Pfades (mit dem Original-Script) scheint zu klappen.
Laut NEU! werden die Alpha-Kanäle erkannt.

Die Fehlermeldung kommt beim Versuch, das Bild erneut zu importieren.

Gruss, Hans


als Antwort auf: [#561561]
X