Answered
Is there a way to get Photoshop to stop asking to merge or don't merge when chaging color modes?
Is there a way to get Photoshop to stop asking to merge or don't merge when chaging color modes?
Is there a way to get Photoshop to stop asking to merge or don't merge when chaging color modes?
Here is a combined version of the previous 3 separate scripts, using a single interface to select the colour mode:
// Attention: Changing modes without flattening may lead to unexpected results!
#target photoshop
// Function to convert string to type ID
var s2t = function (s) {
return app.stringIDToTypeID(s);
};
// Function to convert color mode
function convertColorMode(mode) {
var descriptor = new ActionDescriptor();
descriptor.putClass(s2t("to"), s2t(mode));
descriptor.putBoolean(s2t("flatten"), false);
descriptor.putBoolean(s2t("rasterize"), false);
executeAction(s2t("convertMode"), descriptor, DialogModes.NO);
}
// Create the dialog
var dialog = new Window("dialog", "Convert Color Mode (Without Flatten Prompt)");
dialog.orientation = "column";
dialog.alignChildren = ["fill", "top"];
dialog.preferredSize = [400, -1]; // Set the preferred width to 400px, height will adjust automatically
// Panel group with dropdown menu
var panelGroup = dialog.add("panel", undefined, "Select Color Mode");
panelGroup.orientation = "column";
panelGroup.alignChildren = ["fill", "top"];
var dropdown = panelGroup.add("dropdownlist", undefined, ["CMYK", "RGB", "Lab"]);
dropdown.selection = 0;
// Cancel and OK buttons
var buttonGroup = dialog.add("group");
buttonGroup.orientation = "row";
buttonGroup.alignment = "right";
var cancelButton = buttonGroup.add("button", undefined, "Cancel", { name: "cancel" });
var okButton = buttonGroup.add("button", undefined, "OK", { name: "ok" });
// OK button event handler
okButton.onClick = function () {
var selectedMode = dropdown.selection.text;
var mode;
switch (selectedMode) {
case "CMYK":
mode = "CMYKColorMode";
break;
case "RGB":
mode = "RGBColorMode";
break;
case "Lab":
mode = "labColorMode";
break;
}
convertColorMode(mode);
dialog.close();
};
// Cancel button event handler
cancelButton.onClick = function () {
dialog.close();
};
// Show the dialog
dialog.show();Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.