[CS2] layer.opacity 100% bug
Posted: Thu Aug 06, 2009 12:17 am
Making the script backward compatible with CS2 is really frustrating... :/ Active layer opacity is set to 100%.
Code: Select all$.writeln(app.activeDocument.activeLayer.opacity)
// 100
app.activeDocument.activeLayer.opacity=app.activeDocument.activeLayer.opacity
// Throws an error: Specified value greater than maximum allowed value
$.writeln(app.activeDocument.activeLayer.opacity==100)
// false (?!)
$.writeln(app.activeDocument.activeLayer.opacity==100.00000000000001)
// true (?!!)
$.writeln(app.activeDocument.activeLayer.opacity-.00000000000001)
// 100 (still)
app.activeDocument.activeLayer.opacity=app.activeDocument.activeLayer.opacity-.00000000000001;
// OK
// so the final solution when reading layer opacity...
var op = Math.min(app.activeDocument.activeLayer.opacity,100);
// it is faster than if and ?:
Code: Select all$.writeln(app.activeDocument.activeLayer.opacity)
// 100
app.activeDocument.activeLayer.opacity=app.activeDocument.activeLayer.opacity
// Throws an error: Specified value greater than maximum allowed value
$.writeln(app.activeDocument.activeLayer.opacity==100)
// false (?!)
$.writeln(app.activeDocument.activeLayer.opacity==100.00000000000001)
// true (?!!)
$.writeln(app.activeDocument.activeLayer.opacity-.00000000000001)
// 100 (still)
app.activeDocument.activeLayer.opacity=app.activeDocument.activeLayer.opacity-.00000000000001;
// OK
// so the final solution when reading layer opacity...
var op = Math.min(app.activeDocument.activeLayer.opacity,100);
// it is faster than if and ?: