[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: 5669

25. Jan 2015, 20:06
Beitrag # 1 von 8
Bewertung:
(3144 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: 5669

25. Feb 2015, 13:21
Beitrag # 2 von 8
Beitrag ID: #537415
Bewertung:
(2891 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: 174

21. Dez 2017, 09:31
Beitrag # 3 von 8
Beitrag ID: #561554
Bewertung:
(1837 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: 5669

21. Dez 2017, 10:36
Beitrag # 4 von 8
Beitrag ID: #561555
Bewertung:
(1809 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: 17942

21. Dez 2017, 15:15
Beitrag # 5 von 8
Beitrag ID: #561559
Bewertung:
(1755 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!?


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/


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: 5669

21. Dez 2017, 16:39
Beitrag # 6 von 8
Beitrag ID: #561560
Bewertung:
(1739 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: 4242

21. Dez 2017, 17:04
Beitrag # 7 von 8
Beitrag ID: #561561
Bewertung:
(1731 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.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#561560]

Alpha-Kanal auf ausgewähltes Bild anwenden

Hans Haesler
Beiträge gesamt: 5669

21. Dez 2017, 17:21
Beitrag # 8 von 8
Beitrag ID: #561562
Bewertung:
(1710 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]
Hier Klicken X

Photoshop / Lightroom

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
13.12.2018 - 20.12.2018

3400 Burgdorf, BE
Donnerstag, 13. Dez. 2018, 09.00 Uhr - Donnerstag, 20. Dez. 2018, 09.00 Uhr

Workshop

Schritt für Schritt: Planen, konzipieren und Umsetzen einer responsiven Website mit Wordpress: Lokalen Server einrichten; Frontend/Backend; Vorgehen Schritt für Schritt bis zur fertigen Site.

2-Tages-Workshop CHF 990.00

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Websites erstellen mit Wordpress und Elementor Pro
Veranstaltungen
19.12.2018

Wie installiert und konfiguriert man Mailchimp und verwendet es für sein Business

Internet
Mittwoch, 19. Dez. 2018, 10.00 - 11.30 Uhr

Webinar

In diesem Webinar zeige ich den Teilnehmern, wie sie mit Mailchimp eigene Newsletter verschicken können. Wie sie Mailchimp installieren und konfigurieren müssen und wie sie eine erste Kampagne machen können.

Gratis

Ja

Organisator: Eric Mächler

https://events.genndi.com/register/818182175026318367/4ac0f277c0

Der Start ins E-Mail Marketing mit Mailchimp
Hier Klicken