Custom Image bullets--is there a way to change the color?
The reason why is I'm trying to use one of the circles and it keeps coming out dark gray, and it needs to be white (on a B&W laser printer). This is for a check list on a church bulletin.
Also, is there a way to upload other bullet images to use?
Thanks!
MacBook Pro 15", CoreDuo 2 2.33 ghz Mac OS X (10.4.9) Cube 450 mhz
You would need to edit the custom image in some other application, such as GraphicConverter.
As for your second issue, Custom Image is the way to set an arbitrary image as a bullet -- what do you mean by "upload"?
Similar Messages
-
Is there a way to change the color of the Bezier Curves and points to a different color other than black I find it perplexing while setting points and curves working on a photo that needs to be separated from it's background for placement on transparent backgrounds. Any thoughts?
Yes. Well, sort of: instead of a "path", set the pen tool to "shape" in the tool properties. Then set the fill colour to transparent, and the stroke colour to the colour you want. You can also set the stroke width.
Not perfect, but at least you can see the path more clearly - the anchor points and handles still remain the default colour. Open the path panel, and right-mouse click the path shape to create a selection based on that shape. The Paths panel menu also allows you to create work paths based on that shape.
Unfortunately when you try to move the handles the black thin outline appears again until you release the mouse button.
This is one of several things that works better in Photoline: in Photoline, once the path is set to a specific colour, editing the path uses the actual colour and stroke width. which is extremely handy for creating path based selection with awkward background colours and/or a high resolution screen. In Photoline the handles and bezier points are also much, much larger, which makes it rather simpler to work with as well - especially on a higher resolution screen. And when selected the handles and points are a clear red with a black outline - again easier to spot and identify. I just works better, in my opinion. -
Is there any way to change the color of the Firefox 4 menu button away from orange? It attracts my attention and as far as I can tell personas change everything but the menu button color.
You can change it with the App Button Color extension - https://addons.mozilla.org/firefox/addon/app-button-color
-
Is there any way to change the color scheme in a document in Pages?
I have come from a PC using Publisher for a weekly newsletter and am trying to use Pages to accomplish the same thing. i want to change the color scheme from week to week and have not found a way to accomplish this.
I am currently using Word for Mac for this, but I would like to move over to Pages. I'm playing with it some, but can't seem to find a way to change the color of the publication from week to week. To change to another template all together would cause me to have to reinvent the wheel each and every week, and I'm not willing to do that.
Adobe Illustrator is an option, but it looks mighty complicated to set it up... And I've balked at the price tag.
Any suggestions?Pages does not have Themes like Word.
There might be other ways to achieve what you want by swapping master objects and changing colors of Styles. A bit more work but not horrendously more.
You can name color swatches in the Color Picker so you could set up a set of colors there then update styles and objects systematically using those swatches.
Illustrator would be an extremely poor choice for a Newsletter.
Have a look at the new Swift Publisher 3 in the App Store, currently 30% off. They have added some very good tools that have brought it into a much more Pro usable form. Including many key features that Pages lacks.
Peter -
Is there a way to change the colors of multiple VI front panels?
Hi,
I am currently creating a LabView program controlling a lot of sensors and actuators. I have based the GUI on a tab-control with different buttons which again opens up different VI front panels in a singel sub panel below. I realy want to have a different color theme on my program than the standard gray LabView theme, but I would like to change the colors for all my VIs in a smooth and quick way. I really would not like to click on all controls, indicators etc. to get new colors, as there are a lot of them! Any ideas out there, if this is possible?
Thanks in advance!
LarsLars,
please note that using the grayscale theme is recommended not only by NI. Using color is very delicate thing since you have to consider:
- readability of text might suffer due to insufficient contrast
- overuse of (signaling) color might distract the user from important settings/information
- color-blind user?
That being said, you can color the frontpanels of the VIs you include in the sub panel dynamically. Please take a look into attached example on how this could be done (LV 2009).
Please note that this is recoloring the frontpanel background only. If you need other elements to recolor as well, this can be done similar but is more effort....
hope this helps,
Norbert
CEO: What exactly is stopping us from doing this?
Expert: Geometry
Marketing Manager: Just ignore it.
Attachments:
FP ColorChange.vi 14 KB -
Is there a way to change the color of a linked eps or ai file in InDesign?
I have a questionaire form that I'm placing in several documents. I need it to be exactly the same in all instances except that it occurs in 4/c on some docs and 1/c (black) on others.
It'd be best to have all the Indesign files link to the same eps (or ai, or eps) file so that I know any change to the text of the linked questionaire will be reflected on all of the InDesign docs. But I don't think InDesign will let me change the color of the text and other filled or stoked elements of eps, ai, or pdf files.
I can change a these in a grayscale tif file. But rasterising the questionaire at a high dpi somewhat defeats the live update feature I'm trying to add here (and bloats my file size).
Could the fact that I can't change the document color mode to grayscale in AI be a factor here?
Thank you for your time!The only way I can think of is to use a Spot Colour in Illustrator.
You can then place that into InDesign and the Spot Colour should show up in the Swatches Panel.
In InDesign - create a New Swatch and have this be a Spot colour too.
Using the Swatches Panel flyout menu (top right) you can go Ink Manager...
From here you can Map the colour used in Illustrator to the colour you have creaeted in InDesign.
This will replace the colour in InDesign only - and results may vary on output.
You will need to use View>Overprint Preview to view the results.
Hope that helps. -
I have just purchased an iPad 2 and I have gotten it setup to sync with my multiple calendars on Google Calendar. But the colors I have chosen for displaying my calendars in Google Calendar are not being used when the info comes over to the iPad. The iPad is choosing it's own colors for each calendar. Is there a way to customize this so I know who's calendar I am looking at by color shown? Thanks!
Size is never included in a style for a shape.
If you want to apply the resizing to all shapes, you can use the small flyout menu after applying the resizing to one shape, and choose Apply to all items of this type. -
Is there a way to change the color of the Menu Bar (Snow Leopard)?
Without using an external program, that is.
I know you can change it with an external program, but I was wondering if anyone knows how to modify it from within OS X's files themselves?
A similar question might be asked about the Dock, or Snow Leopard's Exposé.
All modifications are done by navigating to: Mac OS Hard Drive/System/Library/CoreServices/Dock.app/Contents/Resources/
Modify Exposé: expose-window-selection-big.png (for non-minimized windows), expose-window-selection-small.png (for minimized windows)
Modify the color of the Dock: scurve-l.png, scurve-m.png, scurve-sm.png, scurve-xl.png
Modify the color of the divider between apps and folders on the Dock: separatorstraight-horizontal.png, separatorstraight.png
Modify the icon in the Dock when Stacks are activated: pileArrow.png, pileLeftArrow.png, pileRightArrow.pngI agree that major OS upgrades (e.g. Snow Leopard to Lion) will probably change things back to normal, and I don't entirely trust external programs to change things for me.
I'm going to stick around with Snow Leopard for a while though, so I was just wondering if anyone knew of a way to directly change the Menu Bar files themselves. The aforementioned modifications are just changes to the Dock's standard PNG files, so it's relatively easy to alter its color/design (backing up the original Dock.app just in case). -
Is there a way to change the color of the Commenting indicator?
Our company is utilizing the commenting feature more now in Adobe Acrobat X Pro. This is an attempt to reduce printing on paper. In one of our processes, people will use the comments listed in the Comments Panel to keep track of each note. They mark each one as complete once they've reviewed whatever the note entails. The only problem is, as you click each comment from the panel, the comment is indicated on the page. The indicator that surrounds the comment is a light-blue squiggly line. It's a bit hard to see, so I was wondering if that color could be changed. I would prefer to have it as a red squiggly line.
I see how you can change the comment note colors, but not that indicator line that surrounds the comment. Is that some sort of system color that needs to be changed in Windows??
thanks,
Jon W.No,
you can decrease the brightness level.
and
settings>General>accessibility
Bold Text
Larger Text
Increase Contrast
Reduce Transparency
Darken Colors
Reduce White point
Perhaps some combination of the above will help you. -
I just updated my iPhone and would like to change the color of the bubble for the text reply. Mine is now GRAY and it is much more difficult to read. The outgoing text bubble is still blue. Can I do this?
Yes. Well, sort of: instead of a "path", set the pen tool to "shape" in the tool properties. Then set the fill colour to transparent, and the stroke colour to the colour you want. You can also set the stroke width.
Not perfect, but at least you can see the path more clearly - the anchor points and handles still remain the default colour. Open the path panel, and right-mouse click the path shape to create a selection based on that shape. The Paths panel menu also allows you to create work paths based on that shape.
Unfortunately when you try to move the handles the black thin outline appears again until you release the mouse button.
This is one of several things that works better in Photoline: in Photoline, once the path is set to a specific colour, editing the path uses the actual colour and stroke width. which is extremely handy for creating path based selection with awkward background colours and/or a high resolution screen. In Photoline the handles and bezier points are also much, much larger, which makes it rather simpler to work with as well - especially on a higher resolution screen. And when selected the handles and points are a clear red with a black outline - again easier to spot and identify. I just works better, in my opinion. -
Is there a way to change the image numbers in a file in Aperture?
Is there a way to change the image numbers in a file in Aperture? We shoot with two photographers and so the img numbers are not in order but I would like to have the photos in chronological order on the disc when I give it to them. Does anyone know how to do this? I have them all in order ready to go in Aperture but when I move them to the disc to be burned they default back to the img number order. Thanks for your help!
What do you mean by "image number"? The file names like "IMG_7822.CR2" or "IMG_7822.jpg"?
You can create custom names with appended numbers, when you export your image files to be saved on a disk.
Sort your images by date in the browser, select them, then use the command "File > Export > Version" to write the files to the disk. Set the name format to "Custem Name with Index" or "Custom Name with Counter" to create numbered names in your current sort order.
Regards
Léonie -
Is there a way to change the automatic optimization of the Thumbnail images in Webgallery?
Is there a way to change the automatic optimization of the Thumbnail images in webgallery found in Photoshop (CS3 or Photoshop elements-- I have both)? The thumbnails come out so blurry that it's embarrassing (for an art site). Thanks.
Thanks for your response. Your websites look great! You are to be complimented on your fine design work.
I've been doing custom sized thumbnails, at around 300px, but they are still a little blurry, like when JPEGs are over optimized and some isolated areas look like they are churning, one shape melting into another like boiling water. Then, I tried even larger thumbnails, and then shrunk them to a smaller size using HTML commands, hoping that shrinking them smaller would help tighten up the blurry churning areas. They looked a little better, but the churning areas remained. When I open up the individual thumbnails in Photoshop and I try using the unsharp mask or the sharpen function, it gets even worse. -
Is there a way to change the speed of a keyframe zoom effect on still photos? Clip duration doesn't seem to change the zoom speed at all. Any help would be greatly appreciated
Open the video animation (Control-v). In transform>All click and drag the X and Y keyframes (which should be together) – left to speed up the scale change and right to slow it down . It may take a little practice to get this to work (I seldom get it right the first try).
You could do this individually for each clip, or you wanted to adjust multiple clips you can copy and paste attributes to your other other clips.
Russ -
Is there a way to change the LUt extension form .CUBE to .cube. on export with this script in photoshop For MAC:
Chris Cox wrote:
The file extensions are written by the export plugin. (which incidentally has a comment that two studios wanted all caps extensions, but I failed to write down which ones in the comments)
To change the filenames, you'd want to add something at the end of doExportLUTs() that uses the supplied path and substitutes the desired extensions, then renames the file.
Thank you
// Export Color Lookup Tables automation in JavaScript
// IN_PROGRESS - why can't ColorSync Utility open any profile with a grid of 160 or larger?
// 150 works, 160 fails -- sent samples in email to Apple on Nov 8, 2013; they are investigating
// DEFERRED - right to left filenames (Arabic) come out wrong because of appending "RGB" and file extensions
// This seems to be a bug in JavaScript's handing of strings, not sure we can solve it easily.
// It might possibly be handled by checking bidi markers in UTF8 stream and adding custom handling for appending text/extensions.
@@@BUILDINFO@@@ ExportColorLookupTables.jsx 1.0.0.0
// BEGIN__HARVEST_EXCEPTION_ZSTRING
<javascriptresource>
<name>$$$/JavaScripts/ExportColorLookupTables/Menu=Color Lookup Tables...</name>
<menu>export</menu>
<enableinfo>true</enableinfo>
<eventid>9AA9D7D6-C209-494A-CC01-4E7D926DA642</eventid>
</javascriptresource>
// END__HARVEST_EXCEPTION_ZSTRING
#target photoshop
const appUIState = app.displayDialogs;
app.displayDialogs = DialogModes.NO; // suppress all app dialogs
app.bringToFront(); // make Photoshop the frontmost app, just in case
// on localized builds we pull the $$$/Strings from a .dat file
$.localize = true;
// from Terminology.jsx
const classApplication = app.charIDToTypeID('capp');
const classProperty = app.charIDToTypeID('Prpr');
const enumTarget = app.charIDToTypeID('Trgt');
const eventGet = app.charIDToTypeID('getd');
const eventSet = app.charIDToTypeID('setd');
const kcolorSettingsStr = app.stringIDToTypeID("colorSettings");
const kDither = app.charIDToTypeID('Dthr');
const keyTo = app.charIDToTypeID('T ');
const typeNULL = app.charIDToTypeID('null');
const typeOrdinal = app.charIDToTypeID('Ordn');
const kFloatWindowStr = app.stringIDToTypeID("floatWindow");
const typePurgeItem = app.charIDToTypeID('PrgI');
const enumClipboard = app.charIDToTypeID('Clpb');
const eventPurge = app.charIDToTypeID('Prge');
const keyExportLUT = app.charIDToTypeID( "lut " );
const keyFilePath = app.charIDToTypeID( 'fpth' );
const keyDescription = app.charIDToTypeID( 'dscr' );
const keyCopyright = app.charIDToTypeID( 'Cpyr' );
const keyDataPoints = app.charIDToTypeID( 'gPts' );
const keyWriteICC = app.charIDToTypeID( 'wICC' );
const keyWrite3DL = app.charIDToTypeID( 'w3DL' );
const keyWriteCUBE = app.charIDToTypeID( 'wCUB' );
const keyWriteCSP = app.charIDToTypeID( 'wCSP' );
const kScriptOptionsKey = "9AA9D7D6-C209-494A-CC01-4E7D926DA642"; // same as eventID above
const sGridMin = 7; // these must match the slider range defined in the dialog layout
const sGridMax = 256;
const sGridDefault = 32;
// our baseline UI configuration info
var gSaveFilePath = ""; // overwritten by document path
var gDescription = ""; // overwritten by document name
var gCopyright = ""; // "Adobe Systems Inc., All Rights Reserved";
var gGridPoints = sGridDefault;
var gDoSaveICCProfile = true;
var gDoSave3DL = true;
var gDoSaveCUBE = true;
var gDoSaveCSP = true;
gScriptResult = undefined;
// start doing the work...
main();
app.displayDialogs = appUIState; // restore original dialog state
gScriptResult; // must be the last thing - this is returned as the result of the script
function readOptionsFromDescriptor( d )
if (!d)
return;
if (d.hasKey(keyFilePath))
gSaveFilePath = d.getString( keyFilePath ); // will be overridden by UI
if (d.hasKey(keyDescription))
gDescription = d.getString( keyDescription ); // will be overridden always
if (d.hasKey(keyCopyright))
gCopyright = d.getString( keyCopyright );
if (d.hasKey(keyDataPoints))
var temp = d.getInteger( keyDataPoints );
if (temp >= sGridMin && temp <= sGridMax)
gGridPoints = temp;
if (d.hasKey(keyWriteICC))
gDoSaveICCProfile = d.getBoolean( keyWriteICC );
if (d.hasKey(keyWrite3DL))
gDoSave3DL = d.getBoolean( keyWrite3DL );
if (d.hasKey(keyWriteCUBE))
gDoSaveCUBE = d.getBoolean( keyWriteCUBE );
if (d.hasKey(keyWriteCSP))
gDoSaveCSP = d.getBoolean( keyWriteCSP );
function createDescriptorFromOptions()
var desc = new ActionDescriptor();
desc.putString( keyFilePath, gSaveFilePath ); // will be overridden by UI
desc.putString( keyDescription, gDescription ); // will always be overridden by document name
desc.putString( keyCopyright, gCopyright );
desc.putInteger( keyDataPoints, gGridPoints );
desc.putBoolean( keyWriteICC, gDoSaveICCProfile );
desc.putBoolean( keyWrite3DL, gDoSave3DL );
desc.putBoolean( keyWriteCUBE, gDoSaveCUBE );
desc.putBoolean( keyWriteCSP, gDoSaveCSP );
return desc;
function doExportUI()
// DEFERRED - it might be nice to be able to run without UI
// Right now we can't, but someone could modify the script if they so desire
const sDescription = localize("$$$/AdobeScript/Export3DLUT/Description=Description:");
const sCopyright = localize("$$$/AdobeScript/Export3DLUT/Copyright=Copyright:");
const sQuality = localize("$$$/AdobeScript/Export3DLUT/Quality=Quality");
const sGridPoints = localize("$$$/AdobeScript/Export3DLUT/GridPoints=Grid Points:");
const sFormatsToSave = localize("$$$/AdobeScript/Export3DLUT/Formats=Formats");
const sOpenButton = localize("$$$/JavaScripts/psx/OK=OK");
const sCancelButton = localize("$$$/JavaScripts/psx/Cancel=Cancel");
const strTextInvalidType = localize("$$$/JavaScripts/Export3DLUT/InvalidType=Invalid numeric value. Default value inserted.");
const strTextInvalidNum = localize("$$$/JavaScripts/Export3DLUT/InvalidNum=A number between 7 and 256 is required. Closest value inserted.");
const strNoExportsSelected = localize("$$$/JavaScripts/Export3DLUT/NoExportTypesSelected=No export types were selected.");
const strExportPrompt = localize("$$$/JavaScripts/Export3DLUT/ExportColorLookup=Export Color Lookup");
const strUntitledLUT = localize("$$$/JavaScripts/Export3DLUT/UntitledLUTFilename=untitled.lut");
const sSaveICC = localize("$$$/AdobeScript/Export3DLUT/ICCProfile=ICC Profile");
// these are not localized, since they refer to file format extensions
const sSave3DL = "3DL";
const sSaveCUBE = "CUBE";
const sSaveCSP = "CSP";
// strings similar to JPEG quality
const sPoor = localize("$$$/AdobeScript/Export3DLUT/Poor=Poor");
const sLow = localize("$$$/AdobeScript/Export3DLUT/Low=Low");
const sMedium = localize("$$$/AdobeScript/Export3DLUT/Medium=Medium");
const sHigh = localize("$$$/AdobeScript/Export3DLUT/High=High");
const sMaximum = localize("$$$/AdobeScript/Export3DLUT/Maximum=Maximum");
const ui = // dialog resource object
"dialog { \
orientation: 'row', \
gp: Group { \
orientation: 'column', alignment: 'fill', alignChildren: 'fill', \
description: Group { \
orientation: 'row', alignment: 'fill', alignChildren: 'fill', \
st: StaticText { text:'Description:' }, \
et: EditText { characters: 30, properties:{multiline:false}, text:'<your description here>' } \
copyright: Group { \
orientation: 'row', alignment: 'fill', alignChildren: 'fill', \
st: StaticText { text:'Copyright:' }, \
et: EditText { characters: 30, properties:{multiline:false}, text:'<your copyright here>' } \
qual: Panel { \
text: 'Quality', \
orientation: 'column', alignment: 'fill', alignChildren: 'fill', \
g2: Group { \
st: StaticText { text:'Grid Points:' }, \
et: EditText { characters:4, justify:'right' } \
drp: DropDownList {alignment:'right'} \
sl: Slider { minvalue:7, maxvalue:256, value: 32 }, \
options: Panel { \
text: 'Formats', \
orientation: 'column', alignment: 'fill', alignChildren: 'left', \
ck3DL: Checkbox { text:'3DL', value:true }, \
ckCUBE: Checkbox { text:'CUBE', value:true } \
ckCSP: Checkbox { text:'CSP', value:true } \
ckICC: Checkbox { text:'ICC Profile', value:true } \
gButtons: Group { \
orientation: 'column', alignment: 'top', alignChildren: 'fill', \
okBtn: Button { text:'Ok', properties:{name:'ok'} }, \
cancelBtn: Button { text:'Cancel', properties:{name:'cancel'} } \
const titleStr = localize("$$$/AdobeScript/Export3DLUT/DialogTitle/ExportColorLookupTables=Export Color Lookup Tables");
var win = new Window (ui, titleStr ); // new window object with UI resource
// THEORETICALLY match our dialog background color to the host application
win.graphics.backgroundColor = win.graphics.newBrush (win.graphics.BrushType.THEME_COLOR, "appDialogBackground");
// poor, low, medium, high, max
var MenuQualityToGridPoints = [ 8, 16, 32, 64, 256 ];
function GridPointsToQualityMenuIndex( num )
var menu = MenuQualityToGridPoints;
var menuItems = menu.length;
if (num <= menu[0])
return 0;
if (num >= menu[ menuItems-1 ])
return (menuItems-1);
for (var i = 0; i < (menuItems-1); ++i)
if ((num >= menu[i]) && (num < menu[i+1]))
return i;
return 0; // just in case of a logic failure
// insert our localized strings
var drop = win.gp.qual.g2.drp; // for easier typing
drop.add('item', sPoor ); // 0
drop.add('item', sLow ); // 1
drop.add('item', sMedium ); // 2
drop.add('item', sHigh ); // 3
drop.add('item', sMaximum ); // 4
drop.selection = drop.items[2]; // Medium
win.gp.description.st.text = sDescription;
win.gp.copyright.st.text = sCopyright;
win.gp.qual.text = sQuality;
win.gp.qual.g2.st.text = sGridPoints;
win.gp.options.text = sFormatsToSave;
win.gp.options.ck3DL.text = sSave3DL;
win.gp.options.ckCUBE.text = sSaveCUBE;
win.gp.options.ckCSP.text = sSaveCSP;
win.gp.options.ckICC.text = sSaveICC;
win.gButtons.okBtn.text = sOpenButton;
win.gButtons.cancelBtn.text = sCancelButton;
// set starting parameters
win.gp.description.et.text = gDescription;
win.gp.copyright.et.text = gCopyright;
win.gp.options.ckICC.value = gDoSaveICCProfile;
win.gp.options.ck3DL.value = gDoSave3DL;
win.gp.options.ckCUBE.value = gDoSaveCUBE;
win.gp.options.ckCSP.value = gDoSaveCSP;
// global flag/hack to keep the UI pretty
var gGlobalPreventChanges = false;
with (win.gp.qual)
sl.value = gGridPoints;
g2.et.text = gGridPoints;
drop.selection = drop.items[ GridPointsToQualityMenuIndex(gGridPoints) ];
// global flag is ugly, but recursive change calls are uglier
g2.et.onChange = function () { if (gGlobalPreventChanges) { return; }
gGlobalPreventChanges = true;
var val = Number(this.text);
this.parent.parent.sl.value = val;
drop.selection = drop.items[ GridPointsToQualityMenuIndex(val) ];
gGlobalPreventChanges = false; };
sl.onChanging = function () { if (gGlobalPreventChanges) { return; }
gGlobalPreventChanges = true;
var val = Math.floor(this.value);
this.parent.g2.et.text = val;
drop.selection = drop.items[ GridPointsToQualityMenuIndex(val) ];
gGlobalPreventChanges = false; };
// DEFERRED - we should also set the value if the same menu item is selected again (reset)
// but the JSX toolkit doesn't support that
drop.onChange = function()
if (gGlobalPreventChanges) { return; }
gGlobalPreventChanges = true;
var theSelection = this.selection.text;
if (theSelection != null) { // only change if selection made
var theSelectionIndex = this.selection.index;
var newGridPoints = MenuQualityToGridPoints[ theSelectionIndex ];
win.gp.qual.g2.et.text = newGridPoints;
win.gp.qual.sl.value = newGridPoints;
gGlobalPreventChanges = false;
win.onShow = function ()
this.qual.sl.size.width = 128;
this.layout.layout(true);
win.gButtons.cancelBtn.onClick = function () { this.window.close(2); };
// validate inputs when the user hits OK
var gInAlert = false;
win.gButtons.okBtn.onClick = function ()
if (gInAlert == true)
gInAlert = false;
return;
var gridText = win.gp.qual.g2.et.text;
var w = Number(gridText);
var inputErr = false;
if ( isNaN( w ) )
if ( DialogModes.NO != app.playbackDisplayDialogs )
gInAlert = true;
alert( strTextInvalidType );
gInAlert = false;
win.gp.qual.g2.et.text = sGridDefault;
win.gp.qual.sl.value = sGridDefault;
drop.selection = drop.items[ GridPointsToQualityMenuIndex(sGridDefault) ];
return false;
if ( (w < sGridMin) || (w > sGridMax) )
if ( DialogModes.NO != app.playbackDisplayDialogs )
gInAlert = true;
alert( strTextInvalidNum );
gInAlert = false;
if ( w < sGridMin)
inputErr = true;
drop.selection = drop.items[ GridPointsToQualityMenuIndex(sGridMin) ];
win.gp.qual.g2.et.text = sGridMin;
win.gp.qual.sl.value = sGridMin;
return false;
if ( w > sGridMax)
inputErr = true;
drop.selection = drop.items[ GridPointsToQualityMenuIndex(sGridMax) ];
win.gp.qual.g2.et.text = sGridMax;
win.gp.qual.sl.value = sGridMax;
return false;
if (inputErr == false)
win.close(true);
return;
win.center(); // move to center the dialog
var ret = win.show(); // dialog display
if (2 == ret)
return false; // user cancelled
// user hit OK, copy values from dialog
gDescription = win.gp.description.et.text;
gCopyright = win.gp.copyright.et.text;
gGridPoints = win.gp.qual.sl.value;
gDoSave3DL = win.gp.options.ck3DL.value;
gDoSaveCUBE = win.gp.options.ckCUBE.value;
gDoSaveCSP = win.gp.options.ckCSP.value;
gDoSaveICCProfile = win.gp.options.ckICC.value;
// if no files are going to be saved, then we have zero work to do
if ((false == gDoSaveICCProfile) && (false == gDoSave3DL) &&
(false == gDoSaveCUBE) && (false == gDoSaveCSP) )
// tell the user that no formats were selected
alert( strNoExportsSelected );
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return false;
// prompt user for directory and output base filename
// default to directory and filename of current document
var currentDocumentPath
try
// if the file has no path (not saved), then this throws
var documentPath = app.activeDocument.fullName.fsName; // Get the OS friendly file path and name
documentPath = documentPath.replace(/\....$/,''); // remove extension, if there is one
documentPath = documentPath + ".lut"; // add dummy extension
currentDocumentPath = File ( documentPath );
catch (e)
// if there was no document path, default to user's home directory
var defaultName = "~/" + strUntitledLUT;
currentDocumentPath = File(defaultName);
var fname = currentDocumentPath.saveDlg(strExportPrompt);
if (fname == null)
return false;
gSaveFilePath = fname.fsName;
return true;
function doExportLUTs( path )
const keyUsing = charIDToTypeID( 'Usng' );
const eventExport = charIDToTypeID( 'Expr' );
var desc = new ActionDescriptor();
var desc2 = new ActionDescriptor();
desc2.putString( keyFilePath, path );
desc2.putString( keyDescription, gDescription );
desc2.putInteger( keyDataPoints, gGridPoints );
// assemble the full copyright string, if needed
var copyrightAssembled = gCopyright;
if (gCopyright != "")
var theDate = new Date();
// the year is from 1900 ????
var theYear = (theDate.getYear() + 1900).toString();
// Localization team says to just use the year
var dateString = theYear;
copyrightAssembled = localize("$$$/JavaScripts/Export3DLUT/Copyright=(C) Copyright ") + dateString + " " + gCopyright;
desc2.putString( keyCopyright, copyrightAssembled );
// select output format
desc2.putBoolean( keyWriteICC, gDoSaveICCProfile );
desc2.putBoolean( keyWrite3DL, gDoSave3DL );
desc2.putBoolean( keyWriteCUBE, gDoSaveCUBE );
desc2.putBoolean( keyWriteCSP, gDoSaveCSP );
desc.putObject( keyUsing, keyExportLUT, desc2 );
try
var resultDesc = executeAction( eventExport, desc, DialogModes.NO );
catch (e)
if ( e.number != 8007 ) { // don't report error on user cancel
var str = localize("$$$/JavaScripts/Export3DLUT/ExportLUTFailed=Unable to run the Export Color Lookup plugin because ");
alert( str + e + " : " + e.line );
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return false;
return true;
function doRenderGrid( points )
// call the grid rendering plugin to do the work
const keyRenderGrid = charIDToTypeID( "3grd" );
const keyDataPoints2 = charIDToTypeID( 'grdP' );
var args = new ActionDescriptor();
args.putInteger( keyDataPoints2, points);
try
var result = executeAction( keyRenderGrid, args, DialogModes.NO );
catch (e)
if ( e.number != 8007 ) { // don't report error on user cancel
var str = localize("$$$/JavaScripts/Export3DLUT/RenderGridFailed=Unable to render color grid because ");
alert( str + e + " : " + e.line );
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return false;
return true;
function resizeDocumentInPixels( width, height )
var myDocument = app.activeDocument;
var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
myDocument.resizeCanvas( width, height, AnchorPosition.MIDDLECENTER)
app.preferences.rulerUnits = originalRulerUnits;
function GetColorSettings()
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putProperty( classProperty, kcolorSettingsStr );
ref1.putEnumerated( classApplication, typeOrdinal, enumTarget );
desc1.putReference( typeNULL, ref1 );
var result = executeAction( eventGet, desc1, DialogModes.NO );
var desc2 = result.getObjectValue( kcolorSettingsStr );
return desc2;
function GetColorConversionDitherState()
var settings = GetColorSettings();
if (settings.hasKey(kDither))
return settings.getBoolean( kDither );
else
return null;
function ConvertTo16Bit()
const eventConvertMode = charIDToTypeID( 'CnvM' );
const keyDepth = charIDToTypeID( 'Dpth' );
var modeDesc16Bit = new ActionDescriptor();
modeDesc16Bit.putInteger( keyDepth, 16 );
var result = executeAction( eventConvertMode, modeDesc16Bit, DialogModes.NO );
// state = true or false
function SetColorConversionDither( state )
var desc1 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putProperty( classProperty, kcolorSettingsStr );
ref1.putEnumerated( classApplication, typeOrdinal, enumTarget );
desc1.putReference( typeNULL, ref1 );
var desc2 = new ActionDescriptor();
desc2.putBoolean( kDither, state );
desc1.putObject( keyTo, kcolorSettingsStr, desc2 );
executeAction( eventSet, desc1, DialogModes.NO );
function PurgeClipboard()
var desc1 = new ActionDescriptor();
desc1.putEnumerated( typeNULL, typePurgeItem, enumClipboard );
var result = executeAction( eventPurge, desc1, DialogModes.NO );
// This helps us avoid resizing existing document views in tabbed document mode.
// This is new functionality, and will not work in older Photoshop versions.
function MoveDocumentToNewWindow()
var desc1 = new ActionDescriptor();
var result = executeAction( kFloatWindowStr, desc1, DialogModes.NO );
function main()
try
var tempDoc = null;
var tempDoc2 = null;
// do basic troubleshooting first
// make sure there is a document
if (!app.activeDocument)
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return;
// check the document mode
var mode = app.activeDocument.mode;
if (mode != DocumentMode.RGB
&& mode != DocumentMode.LAB
&& mode != DocumentMode.CMYK)
var str = localize("$$$/JavaScripts/Export3DLUT/UnsupportedColorMode=Could not export Color Lookup Tables because only RGB, LAB, and CMYK color modes are supported.");
alert(str);
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return;
// check the document depth, for safety
var depth = app.activeDocument.bitsPerChannel; // an object, not a number - why? I have no idea...
var bitsPerChannel = 1;
if (depth == BitsPerChannelType.EIGHT)
bitsPerChannel = 8;
else if (depth == BitsPerChannelType.SIXTEEN)
bitsPerChannel = 16;
else if (depth == BitsPerChannelType.THIRTYTWO)
bitsPerChannel = 32;
else
var str = localize("$$$/JavaScripts/Export3DLUT/UnsupportedImageDepth=Could not export Color Lookup Tables because only 8, 16, and 32 bits/channel are supported.");
alert(str);
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return;
// Check layer types: background plus adjustments only
// For now, don't check each layer - a multiply solid layer still works as a color adjustment, as does selective blending
// Users will get odd results from other layer types (layer masks, pixel layers, etc.)
try
app.activeDocument.backgroundLayer.visible = true;
catch (e)
if (activeDocument.layers.length == 1)
alert( localize("$$$/JavaScripts/Export3DLUT/NoAdjustmentLayers=Could not export Color Lookup Tables because this document has no adjustment layers.") );
else
alert( localize("$$$/JavaScripts/Export3DLUT/NoBackground=Could not export Color Lookup Tables because this document has no background.") );
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return;
// look for last used params via Photoshop registry, getCustomOptions will throw if none exist
try
var desc = app.getCustomOptions(kScriptOptionsKey);
readOptionsFromDescriptor( desc );
catch(e)
// it's ok if we don't have any existing options, continue with defaults
// set some values from the document
gDescription = app.activeDocument.name;
// ask the user for options, bail if they cancel at any point
if ( doExportUI() == false)
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
return;
// we're good to go, so save our parameters for next time
app.putCustomOptions(kScriptOptionsKey, createDescriptorFromOptions() );
// remove file extension from filePath, if there is one
gSaveFilePath = gSaveFilePath.replace(/\....$/,'');
// calculate the size of image we need
var width = gGridPoints * gGridPoints;
var height = gGridPoints;
if (mode == DocumentMode.CMYK)
height = gGridPoints*gGridPoints;
// duplicate the user document so we don't mess it up in any way
tempDoc = app.activeDocument.duplicate("temporary");
// make the temporary document active
app.activeDocument.name = tempDoc;
// to avoid resizing existing document views in tabbed mode
MoveDocumentToNewWindow();
// convert 8 bit documents to 16 bit/channel for improved quality of merged adjustments
if (bitsPerChannel == 8)
ConvertTo16Bit();
depth = BitsPerChannelType.SIXTEEN;
// resize the temporary canvas to our target size
resizeDocumentInPixels( width, height )
// select background layer
tempDoc.activeLayer = tempDoc.backgroundLayer;
// render lookup base grid
var worked = doRenderGrid( gGridPoints );
if (worked != true)
tempDoc.close( SaveOptions.DONOTSAVECHANGES );
return; // error should have already been shown, and there is not much we can do
// do not flatten here -- the export automatically gets flattened data
// and we may need layers for LAB->RGB conversion below
// export the chosen formats
worked = doExportLUTs( gSaveFilePath );
if (worked != true)
tempDoc.close( SaveOptions.DONOTSAVECHANGES );
return; // error should have already been shown, and there is not much we can do
// for LAB documents to export 3DLUT (which are inherently RGB), we have to do additional work
// As a bonus, this works for CMYK as well!
if ( mode != DocumentMode.RGB )
var filePath = gSaveFilePath + "RGB";
var oldDitherState = GetColorConversionDitherState();
try
SetColorConversionDither(false);
const targetProfileName = "sRGB IEC61966-2.1";
// new document temp2 in sRGB, matching depth of original
var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
tempDoc2 = app.documents.add( width, gGridPoints, 72, "temp2",
NewDocumentMode.RGB, DocumentFill.WHITE,
1.0, depth, targetProfileName );
app.preferences.rulerUnits = originalRulerUnits;
// make the new doc active
app.activeDocument.name = tempDoc2;
// to avoid resizing existing document views in tabbed mode
MoveDocumentToNewWindow();
// insert grid
worked = doRenderGrid( gGridPoints );
if (worked == true)
tempDoc2.selection.selectAll();
tempDoc2.activeLayer = tempDoc2.backgroundLayer;
tempDoc2.selection.copy();
tempDoc2.close( SaveOptions.DONOTSAVECHANGES );
tempDoc2 = null;
// make sure temp1 is active
app.activeDocument.name = tempDoc;
// resize for RGB grid
resizeDocumentInPixels( width, gGridPoints );
tempDoc.selection.selectAll();
tempDoc.paste(true);
PurgeClipboard(); // so we don't leave an odd, large item on the clipboard
tempDoc.selection.deselect();
tempDoc.flatten();
// convert temp1 to sRGB
tempDoc.convertProfile( targetProfileName, Intent.RELATIVECOLORIMETRIC, true, false );
// export the chosen formats
worked = doExportLUTs( filePath );
// at this point we still have to clean up, even if the call failed, so fall through
else
tempDoc2.close( SaveOptions.DONOTSAVECHANGES );
catch (e)
if ( e.number != 8007 ) { // don't report error on user cancel
var str = localize("$$$/JavaScripts/Export3DLUT/UnableToConvertRGB=Unable to convert image to RGB because ");
alert( str + e + " : " + e.line );
if (tempDoc2 != null) tempDoc2.close( SaveOptions.DONOTSAVECHANGES );
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our script
// always reset the dither state
SetColorConversionDither( oldDitherState );
PurgeClipboard(); // so we don't leave an odd, large item on the clipboard
} // if not RGB
// always close temp document without saving
tempDoc.close( SaveOptions.DONOTSAVECHANGES );
catch (e)
if ( e.number != 8007 ) { // don't report error on user cancel
var str = localize("$$$/JavaScripts/Export3DLUT/UnableToExport=Unable to export LUT because ");
alert( str + e + " : " + e.line );
// always close temp document without saving
if (tempDoc != null) tempDoc.close( SaveOptions.DONOTSAVECHANGES );
gScriptResult = 'cancel'; // quit, returning 'cancel' (dont localize) makes the actions palette not record our scriptHi blabla12345,
(untested and without warranty)
replace this line:
const sSaveCUBE = "CUBE";
with this:
const sSaveCUBE = "cube";
Have fun -
Is there a way todynamically change the Database of the ApplicationModuleIM
Hi,
I am working for the Coast Guard, and we have 4
different environment each with their own database. One
for Development, QA, Staging, and Production. Each
environment has its own database with its own copy of
the application data.
Is there a way to change the DataURL of the
Application Module before it connects to the database,
so I can modify the URL to point to Development Database
on my Server, QA Database when on the QA Server, etc.
The closest thing I have found is a procedure that is
called directly after the connection is established, I
have not been able to find a similar function that is
called before the connection is established.
Mark DalyTo whom it may concern:
I have Finally figured out how to do this. The problem
is not overriding connection behavior in the application
module, but rather overriding behavior in the Default
Application Pool.
Create a class that inherits from ApplicationPoolImpl
and over ride this function
public void initialize(String name,
String applicationModuleClassName,
String connectString,
Hashtable env)
The DataURL is contained in both the Connect String, and
the Env Hashtable. Update them at this point to your new
DataURL, and the application will open the database
connection to the alternate location.
Now the only problem is getting your application to use
your connection pool, instead of the default, this is
easily done by changing the configuration of the
Application Module. You left click on the Application
Module, choose configuration, then click edit, then find
the property label Custom Application Pool
Implementation class replace it content with the
correct import path to your Pool, then click OK to save
the changes, and your are done, the application module
should be using your pool, instead of the default pool.
This is useful code when you have a separate database
for development, QA, Staging, and Production.
Mark Daly
Maybe you are looking for
-
How do you get your albums on iPhone?
I have started organizing my photos in iPhoto on my computer into albums and folders. However, I don't see a way to get them onto my phone, which is really where I want to use them. It seems photos can go from the phone to the computer, but there d
-
Abt "import" statement & Inheritance in Java
Hi, All As we (Java Programmers) know we'll be using "import java.Math.*" or similar for importing custom/Java packages. If i have suppose imported "import java.math.BigDecimal;" in a Class 'A' & and iam extending this class 'A' in another class 'B',
-
Using Adobe Illustrator and NetBeans
I'm trying to draw an image to use in my java program, which I've been using the GUI Builder in NetBeans to put together. It's a wheel for Wheel of Fortune, and I've drawn a great-looking one in Adobe Illustrator but can't figure out how to successfu
-
802.1x System Profile HELP, Please!!!
Server : Xserve, 10.8.5 Clients : Mix, 10.6.8, 10.8.5 To who ever may be able to help me, I am the tech director for a school district and manage about 800 Apple laptops ranging from old MacBooks to the latest MacBook Pro. We utilize the LDAP service
-
Error in remote call of destination PROCESS_CHAIN
Dear All, I am getting following error in transport of prcocess chains from DEV to QA. Error Message : Error in remote call of destination PROCESS_CHAIN Message no. RSPC051 Diagnosis The following error occurred during the remote function call for de