[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt strokeColor ohne Farbfeld (WIN10, CC2020)

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

strokeColor ohne Farbfeld (WIN10, CC2020)

cwenet
Beiträge gesamt: 1139

24. Feb 2020, 17:40
Beitrag # 31 von 35
Beitrag ID: #574292
Bewertung:
(3251 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Besten Dank für die Ergänzung, Uwe.
Schönen Abend.


als Antwort auf: [#574291]
X

strokeColor ohne Farbfeld (WIN10, CC2020)

Gerald Singelmann
  
Beiträge gesamt: 6269

25. Feb 2020, 12:06
Beitrag # 32 von 35
Beitrag ID: #574296
Bewertung: |||
(3212 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe mal eine Routine geschrieben, die garantiert ohne Nebenwirkung auskommt, indem sie entweder auf bereits bestehende Farbfelder zurückgreift oder die gewünschte Farbe aus Cyan, Magenta, Gelb und Schwarz selbst zusammensetzt (also eine Gruppe statt eines Rechtecks erzeugt).
Die vier Grundfarben sind grundsätzlich in jedem Dokument als doc.color angelegt.

Sagt doch mal, was ihr davon haltet. Da das auf die Schnelle geschrieben ist, sind nur notdürftige Checks und Kommentare drin...

Code
main(); 

function main() {

create_indicator( [50, 0, 50, 0], [0, 0, 50, 50] );
create_indicator( "Cyan", [0, 50, 50, 100] );
create_indicator("indic_red", [0, 100, 50, 150] );

// ------------------------------------------------------------------
/* color kann sein:
- der Name einer bestehenden Farbe
- der Name einer in dieser Funktion fest verdrahteten Farbe
- ein 4-stelliges Array mit CMYK Werten
*/
// ------------------------------------------------------------------
function create_indicator( color, bounds, page, doc, layer ) {
if ( ! doc ) doc = app.activeDocument;
if ( ! page ) page = doc.pages[0];
if ( ! layer ) layer = doc.layers[0];
var use_this;
// Haben wir einen Farbnamen?
if ( typeof color == "string" ) {
if ( doc.colors.item( color ).isValid ) {
use_this = doc.colors.item(color);
} else {
if ( color == "indic_red" ) {
color = [0, 100, 100, 0];
} else if ( color == "indic_green" ) {
color = [70, 0, 100, 0];
}
}
}

var frame = page.textFrames.add();
try {
frame.geometricBounds = bounds;
} catch(e) {
alert( "Fehler beim Positionieren des Rahmens: \n" + e );
frame.remove();
return;
}
frame.contentType = ContentType.UNASSIGNED;
frame.itemLayer = layer;

// Haben wir einen CMYK-Tupel?
if ( color.constructor.name == "Array" ) {
var items = [ frame ];
for ( var n = 0; n < 3; n++ ) items.push( frame.duplicate() );
for ( var n = 0; n < 4; n++ ) {
items[n].fillColor = doc.colors.item( [ "Cyan", "Magenta", "Yellow", "Black"][n] );
items[n].fillTint = color[n];
}
for ( var n = 1; n < 4; n++ ) items[n].transparencySettings.blendingSettings.blendMode = BlendMode.MULTIPLY;
var group = page.groups.add( items );
} else if ( use_this ) {
frame.fillColor = use_this;
} else {
frame.fillColor = doc.colors.item("Paper");
}
var my_final_item = ( group ? group : frame );

my_final_item.transparencySettings.blendingSettings.opacity = 50;
my_final_item.transparencySettings.blendingSettings.blendMode = BlendMode.DARKEN;
}
}



als Antwort auf: [#574256]

strokeColor ohne Farbfeld (WIN10, CC2020)

Uwe Laubender
Beiträge gesamt: 5316

25. Feb 2020, 14:20
Beitrag # 33 von 35
Beitrag ID: #574303
Bewertung:
(3192 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,
die Idee ist sehr gut.
Danke!

Die unsichtbaren, nicht löschbaren Grundfarben "Cyan", "Magenta", "Yellow" sind immer vorhanden.

Auch in Dokumenten, die mit DocumentIntentOptions WEB_INTENT, MOBILE_INTENT oder gar DPS_INTENT ( bis InDesign einschließlich CC 2014 ) erstellt wurden.

Bei "Black" könnte es eine Überraschung da und dort geben. Denn "Black" ist mit colorValue nicht zwingend [ 0, 0, 0, 100 ], sondern kann auch [ 0, 0, 0 ] sein. "Cyan", "Magenta", "Yellow" bleiben selbst bei WEB_INTENT oder MOBILE_INTENT stabil ColorSpace.CMYK.


als Antwort auf: [#574296]

strokeColor ohne Farbfeld (WIN10, CC2020)

Gerald Singelmann
  
Beiträge gesamt: 6269

25. Feb 2020, 15:39
Beitrag # 34 von 35
Beitrag ID: #574304
Bewertung:
(3178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

soweit ich das spontan überblicke, ist es für die Farbsimulation egal, ob die einzelnen Farben (i.e. Black) in RGB oder CMYK ungemischt sind.

Müsste also eigentlich funzen.

Bin gespannt, ob der OP damit was anfangen kann.


als Antwort auf: [#574303]

strokeColor ohne Farbfeld (WIN10, CC2020)

cwenet
Beiträge gesamt: 1139

26. Feb 2020, 07:13
Beitrag # 35 von 35
Beitrag ID: #574311
Bewertung:
(3128 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen lieben Dank, Gerald.
Ich bin beeindruckt. So läuft es primstens.
Da habe ich ganz schön etwas angerichtet.

Schöner Tag
Christoph


als Antwort auf: [#574296]
X