Connect failed: Connection timed out

[GastForen Programmierung/Entwicklung JavaScript Photoshop CC - Kanäle auf Verwendung prüfen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Photoshop CC - Kanäle auf Verwendung prüfen

Andreas78m
Beiträge gesamt: 33

17. Aug 2018, 11:34
Beitrag # 1 von 4
Bewertung:
(6713 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo erst mal,

gibt es eine Möglichkeit ein CMYK Bild zu prüfen, ob ein Pixel in C / M oder Y enthalten ist?

Möchte in diesem Fall den Schatten der sich auf eine eigene Ebene befindet prüfen, ob er (so wie es soll) nur im K (also Schwarz) enthalten ist oder mehrfarbig aufgebaut ist.

Mir fällt leider kaum eine Möglichkeit ein das über JavaScript (oder AppleScript) automatisch zu prüfen und würde mich über Ideen sehr freun.

Beste Grüße,
Andreas
X

Photoshop CC - Kanäle auf Verwendung prüfen

TMA
Beiträge gesamt: 399

21. Aug 2018, 08:03
Beitrag # 2 von 4
Beitrag ID: #565684
Bewertung:
(6264 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Als Idee:
Die Ebene selektieren und die Kanäle dann per Histogram prüfen.

Gruß,
TMA


als Antwort auf: [#565621]

Photoshop CC - Kanäle auf Verwendung prüfen

Uwe Laubender
Beiträge gesamt: 5316

21. Aug 2018, 12:15
Beitrag # 3 von 4
Beitrag ID: #565690
Bewertung:
(6225 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,
falls Du die Ebene mit dem Schatten einwandfrei nach Namen identifizieren kannst, müsste es im Kern wie unten funktionieren. Das Histogramm für die einzelnen CMYK-Kanäle wird überprüft, ob es Werte abweichen von 0 aufweist; ausgenommen der letzte Eintrag, der für das "Weiß" zuständig ist. Die Idee hat TMA ja bereits angedeutet…

Das Skript ist nur eine Skizze:
Annahme ist, dass die Ebene mit Namen "Schatten" in keiner Ebenengruppe liegt. Alle Ebenen außer "Schatten" werden vor der Überprüfung auf "unsichtbar" gestellt und nach Ablauf des Skripts nicht zurückgestellt.
Code
/** 
* @@@BUILDINFO@@@ EbeneSchattenNurSchwarz-TEST-PhotoShop.jsx !Version! Tue Aug 21 2018 12:09:02 GMT+0200
*/

/*
CMYK-Bilder
Testet Ebene mit Namen "Schwarz": Sind nur schwarze Pixel vorhanden?

Skript von Uwe Laubender
Getestet mit PhotoShop CS6 auf Windows 10.

*/

( function()
{

var layerName = "Schatten"; // Hier den Namen der Ebene eingeben, die getestet werden soll!

var e;
if( app.documents.length == 0 ){ return };
var doc = app.activeDocument;


try
{
var shadowLayer = doc.layers.getByName( layerName );
}catch(e){ alert("Ebene "+layerName+" wurde nicht gefunden!" ); return };

shadowLayer.visible = true ;

for(var n=0 ; n<doc.layers.length; n++ )
{
if( doc.layers[n] == shadowLayer ){ continue };
doc.layers[n].visible = false ;
};


var histogramCyan = doc.channels.getByName("Cyan").histogram;
var cyanEmpty = true ;

var histogramMagenta = doc.channels.getByName("Magenta").histogram;
var magentaEmpty = true ;

var histogramYellow = doc.channels.getByName("Gelb").histogram;
var yellowEmpty = true ;

var histogramBlack =doc.channels.getByName("Schwarz").histogram;
var blackEmpty = true ;

var blackOnly = true ;

for( var n=0; n<histogramCyan.length-1; n++ )
{
if( histogramCyan[n] != 0 ){ cyanEmpty = false ; break };
};

for( var n=0; n<histogramCyan.length-1; n++ )
{
if( histogramMagenta[n] != 0 ){ magentaEmpty = false ; break };
};

for( var n=0; n<histogramCyan.length-1; n++ )
{
if( histogramYellow[n] != 0 ){ yellowEmpty = false ; break };
};

for( var n=0; n<histogramCyan.length-1; n++ )
{
if( histogramBlack[n] != 0 ){ blackEmpty = false ; break };
};

if( cyanEmpty && magentaEmpty && yellowEmpty && !blackEmpty )
{
alert( "Ebene "+layerName+" enthält ausschließlich schwarze Pixel." );
};

else
{
alert
(
"Resultat: " +"\r"+
"Cyan ist leer: "+cyanEmpty +"\r"+
"Magenta ist leer: "+magentaEmpty +"\r"+
"Gelb ist leer: "+yellowEmpty +"\r"+
"Schwarz ist leer: "+blackEmpty
)

};

}() )



als Antwort auf: [#565621]

Photoshop CC - Kanäle auf Verwendung prüfen

Andreas78m
Beiträge gesamt: 33

21. Aug 2018, 17:27
Beitrag # 4 von 4
Beitrag ID: #565692
Bewertung:
(6155 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen, vielen Dank für das Script... das ist echt super!

Funktioniert einwandfrei und ich hab einfach nur statt auf schwarz zu Prüfen, auf die 3 Farben umgestellt und es macht genau das, was es soll.

Beste Grüße,
Andreas


als Antwort auf: [#565690]
X