Created
May 6, 2021 15:27
-
-
Save freeonterminate/666d4f47b83594d82c9915f5e0098815 to your computer and use it in GitHub Desktop.
Photoshop layer color label changer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Toggle Color Label | |
// | |
// ABOUT | |
// Change color label. | |
// None → Red → Orange → Yellow → Green | |
// → Blue → Violet → Gray → None | |
// | |
// LICENSE | |
// Copyright (c) 2021 twitter:@pik | |
// Released under the MIT license | |
// http://opensource.org/licenses/mit-license.php | |
// | |
// HISTORY | |
// 2021/05/06 1.00 Release. | |
// | |
/* | |
<javascriptresource> | |
<name>色ラベルの変更 / Toggle Color Label</name> | |
<about> | |
Toggle Color Label | |
Version 1.00 | |
Copyright (c) 2021 @pik. | |
</about> | |
</javascriptresource> | |
*/ | |
#target photoshop | |
$.level = 0; | |
$.localize = true; | |
const msgErrBackground = { | |
en: "Color labels cannot be set for the background layer", | |
ja: "背景レイヤーには色ラベルを設定できません" | |
}; | |
(function(){ | |
try | |
{ | |
var doc = app.activeDocument; | |
if (doc.activeLayer.isBackgroundLayer) | |
{ | |
alert(msgErrBackground); | |
return; | |
} | |
} | |
catch(e) | |
{ | |
return; | |
} | |
const colors = [ | |
"none", | |
"red" , | |
"orange", | |
"yellowColor", | |
"grain", | |
"blue" , | |
"violet", | |
"gray", | |
]; | |
try | |
{ | |
// 現在のカラーラベルの取得 | |
var ref = new ActionReference(); | |
ref.putEnumerated( | |
charIDToTypeID("Lyr "), // Layer | |
charIDToTypeID("Ordn"), // Ordinal | |
charIDToTypeID("Trgt") // TargetEnum | |
); | |
var desc = executeActionGet(ref); | |
var curColor = | |
typeIDToStringID(desc.getEnumerationValue(stringIDToTypeID('color'))); | |
// 設定するカラーラベルの取得 | |
var index = 0; | |
var len = colors.length; | |
for (var i = 0; i < colors.length; i++) | |
{ | |
if (curColor == colors[i]) | |
{ | |
index = i + 1; | |
break; | |
} | |
} | |
if (index == len) | |
index = 0; | |
var newColor = colors[index]; | |
// カラーラベルの設定 | |
var descColor = new ActionDescriptor(); | |
descColor.putEnumerated( | |
charIDToTypeID('Clr '), // Color | |
charIDToTypeID('Clr '), // Color | |
stringIDToTypeID(newColor) | |
); | |
var target = new ActionDescriptor(); | |
target.putReference(charIDToTypeID('null'), ref); | |
target.putObject( | |
charIDToTypeID('T '), // To | |
charIDToTypeID('Lyr '), // Layer | |
descColor | |
); | |
executeAction(charIDToTypeID('setd'), target, DialogModes.NO); | |
} | |
catch (e) | |
{ | |
alert(e.message); | |
} | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment