📄 editor.js
字号:
/** * Functions for the ImageEditor interface, used by editor.php only * @author $Author: Wei Zhuo $ * @author $Author: Fr閐閞ic Klee <fklee@isuisse.com> $ - constraints toggle and check * @author $Author: Paul Moers <mail@saulmade.nl> $ - watermarking and replace code + several small enhancements <http://fckplugins.saulmade.nl> * @version $Id: editor.js 2006-04-09 $ * @package ImageManager */ var current_action = null; var actions = ['crop', 'scale', 'rotate', 'measure', 'save', 'watermark', 'replace']; var orginal_width = null, orginal_height=null; function toggle(action) { if(current_action != action) { // hiding watermark if (editor.window.document.getElementById("imgCanvas")) { editor.window.document.getElementById("imgCanvas").style.display = "block"; editor.window.document.getElementById("background").style.display = "none"; if (editor.window.watermarkingEnabled == true) { editor.window.dd.elements.floater.hide(); } } for (var i in actions) { if(actions[i] != action) { var tools = document.getElementById('tools_'+actions[i]); tools.style.display = 'none'; var icon = document.getElementById('icon_'+actions[i]); icon.className = ''; } } current_action = action; var tools = document.getElementById('tools_'+action); tools.style.display = 'block'; var icon = document.getElementById('icon_'+action); icon.className = 'iconActive'; var indicator = document.getElementById('indicator_image'); indicator.src = 'img/'+action+'.gif'; editor.setMode(current_action); // if watermark action, show watermark if(action == 'watermark') { if (editor.window.document.getElementById("imgCanvas")) { editor.window.document.getElementById("imgCanvas").style.display = "none"; editor.window.document.getElementById("background").style.display = "block"; if (editor.window.watermarkingEnabled == true) { editor.window.dd.elements.floater.show(); editor.window.dd.elements.floater.moveTo(0, 0); editor.window.verifyBounds(); } } } //constraints on the scale, //code by Fr閐閞ic Klee <fklee@isuisse.com> if(action == 'scale') { var theImage = editor.window.document.getElementById('theImage'); orginal_width = theImage.width ; orginal_height = theImage.height; var w = document.getElementById('sw'); w.value = orginal_width ; var h = document.getElementById('sh') ; h.value = orginal_height ; } } } function toggleMarker() { var marker = document.getElementById("markerImg"); if(marker != null && marker.src != null) { if(marker.src.indexOf("t_black.gif") >= 0) marker.src = "img/t_white.gif"; else marker.src = "img/t_black.gif"; editor.toggleMarker(); } } //Toggle constraints function toggleConstraints() { var lock = document.getElementById("scaleConstImg"); var checkbox = document.getElementById("constProp"); if(lock != null && lock.src != null) { if(lock.src.indexOf("unlocked2.gif") >= 0) { lock.src = "img/islocked2.gif"; checkbox.checked = true; checkConstrains('width'); } else { lock.src = "img/unlocked2.gif"; checkbox.checked = false; } } } //check the constraints function checkConstrains(changed) { var constrained = document.getElementById('constProp'); if(constrained.checked) { var w = document.getElementById('sw') ; var width = w.value ; var h = document.getElementById('sh') ; var height = h.value ; if(orginal_width > 0 && orginal_height > 0) { if(changed == 'width' && width > 0) h.value = parseInt((width/orginal_width)*orginal_height); else if(changed == 'height' && height > 0) w.value = parseInt((height/orginal_height)*orginal_width); } } updateMarker('scale') ; } function updateMarker(mode) { if (mode == 'crop') { var t_cx = document.getElementById('cx'); var t_cy = document.getElementById('cy'); var t_cw = document.getElementById('cw'); var t_ch = document.getElementById('ch'); editor.setMarker(parseInt(t_cx.value), parseInt(t_cy.value), parseInt(t_cw.value), parseInt(t_ch.value)); } else if(mode == 'scale') { var s_sw = document.getElementById('sw'); var s_sh = document.getElementById('sh'); editor.setMarker(0, 0, parseInt(s_sw.value), parseInt(s_sh.value)); } } function rotatePreset(selection) { var value = selection.options[selection.selectedIndex].value; if(value.length > 0 && parseInt(value) != 0) { var ra = document.getElementById('ra'); ra.value = parseInt(value); } } function updateFormat(selection) { var selected = selection.options[selection.selectedIndex].value; var values = selected.split(","); if(values.length >1) { updateSlider(parseInt(values[1])); } } function doUpload() { // hiding action buttons var buttons = parent.document.getElementById('buttons'); buttons.style.display = 'none'; // hiding current action's controls var tools = parent.document.getElementById('tools_replace'); tools.style.display = 'none'; // try to restrict the user from closing the editor window when uploading parent.old = (parent.onbeforeunload) ? parent.onbeforeunload : function () {}; parent.onbeforeunload = function () {parent.old(); alert(i18n("Please do not close the window while uploading a new image! If you do, the original image gets deleted!")); return false;}; var uploadForm = document.getElementById('uploadForm'); if(uploadForm) showMessage('Uploading'); } // show processing message function showMessage(newMessage) { var message = document.getElementById('message'); var messages = document.getElementById('messages'); if(message.firstChild) message.removeChild(message.firstChild); message.appendChild(document.createTextNode(i18n(newMessage))); messages.style.display = "block"; } // hide message function hideMessage() { var messages = document.getElementById('messages'); messages.style.display = "none"; } // change watermark function changeWatermark(source) { if (editor.window.watermarkingEnabled) { floater = editor.window.dd.elements.floater; floater.swapImage(eval("editor.window." + source.options[source.selectedIndex].value + "Preload.src")); floater.resizeTo(source.options[source.selectedIndex].getAttribute("x"), source.options[source.selectedIndex].getAttribute("y")); editor.window.verifyBounds(); } } // change watermark opacity function changeWatermarkOpacity(opacity) { if (editor.window.watermarkingEnabled) { floater = editor.window.dd.elements.floater; // IE/Win floater.css.filter = "alpha(opacity:" + opacity + ")"; // Safari < 1.2, Konqueror floater.css.KHTMLopacity = opacity / 100; // Older Mozilla and Firefox floater.css.Mozopacity = opacity / 100; // Safari 1.2, newer Firefox and Mozilla, CSS3 floater.css.opacity = opacity / 100; } } // change watermark position function moveWatermark(x, y) { if (editor.window.watermarkingEnabled) { floater = editor.window.dd.elements.floater; background = editor.window.dd.elements.background; x = background.x + (background.w - floater.w) * x; y = background.y + (background.h - floater.h) * y; floater.moveTo(x, y); } } // color the background of the watermark function colorWatermarkBG(color) { if (background = editor.window.document.getElementById("background")) { // saving background image and removing if (background.style.backgroundImage != "" && background.style.backgroundImage != "url(img/backgroundGrid.gif)") { this.backgroundImage = background.style.backgroundImage; } background.style.backgroundImage = ""; // show background image if (color == "") { background.style.backgroundImage = this.backgroundImage; background.style.backgroundColor = ""; } // show grid else if(color == "grid") { background.style.backgroundImage = "url(img/backgroundGrid.gif)"; background.style.backgroundColor = ""; } // set color else { background.style.backgroundColor = color; } } } //Translation function i18n(str) { if(I18N) return (I18N[str] || str); else return str; }; function addEvent(obj, evType, fn) { if (obj.addEventListener) { obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent) { var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } init = function() { var bottom = document.getElementById('bottom'); if(window.opener) { __dlg_init(bottom); __dlg_translate(I18N); } } addEvent(window, 'load', init);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -