📄 image_editor_general.js
字号:
$('#resizeMe').ResizeConstraint(false);
switch(getModeValue())
{
case "resize":
$('#resizeSE').show();
$('#resizeE').show();
$('#resizeS').show();
break;
case "crop":
ShowHandlers();
break;
case "rotate":
break;
}
}
};
/**
* restore to the state the image was
*/
function restoreToOriginal(warning)
{
if(typeof(warning) == "boolean" && warning)
{
if(!window.confirm(warningReset))
{
return false;
}
}
$("#imageContainer").empty();
$("#hiddenImage img").clone().appendTo("#imageContainer");
return true;
};
/*
* left rotate
*/
function leftRotate()
{
var imageToResize = getImageElement();
$(imageToResize).rotate(-90);
swapWidthWithHeight();
addImageHistory();
var angle = $('#angle');
var angleDegree = (parseInt($(angle).val()) + 90);
angleDegree = ((angleDegree == 360)?angleDegree:angleDegree%360);
$(angle).val((angleDegree ));
return false;
};
/**
* cancel mode change
*/
function cancelChangeMode()
{
$('#formAction input[@value=' + $('#image_mode').val() + ']').attr('checked', 'checked');
};
/**
* get the image element which is going to be modified
*/
function getImageElement()
{
var imageElement = null;
var imageContainer = document.getElementById('imageContainer');
for(var i = 0; i < imageContainer.childNodes.length; i++)
{
if((typeof(imageContainer.childNodes[i].name) != "undefined" && imageContainer.childNodes[i].name.toLowerCase() == 'image') || (typeof(imageContainer.childNodes[i].tagName) != "undefined" && (imageContainer.childNodes[i].tagName.toLowerCase() == 'canvas' || imageContainer.childNodes[i].tagName.toLowerCase() == 'img')) )
{
imageElement = imageContainer.childNodes[i];
}
}
return imageElement;
};
/*
right rotate
*/
function rightRotate()
{
var imageToResize = getImageElement();
$(imageToResize).rotate(90);
swapWidthWithHeight();
addImageHistory();
var angle = $('#angle');
var angleDegree = (parseInt($(angle).val()) - 90 );
if(angleDegree < 0)
{
angleDegree += 360;
}
angleDegree = ((angleDegree == 360)?angleDegree:angleDegree%360);
$(angle).val((angleDegree ));
return false;
} ;
/**
* swap image width with height when rotation fired
*/
function swapWidthWithHeight()
{
var imageContainer = $('#imageContainer');
var resizeMe = $('#resizeMe');
var width = $('#width');
var height = $('#height');
var imageToResize = getImageElement();
var newWidth = 0;
var newHeight = 0;
newWidth = $(imageToResize).attr('width');
newHeight = $(imageToResize).attr('height');
$(imageContainer).css('width', newWidth + 'px');
$(imageContainer).css('height', newHeight + 'px');
$(width).val(newWidth);
$(height).val(newHeight);
$(resizeMe).css('width', newWidth + 'px');
$(resizeMe).css('height', newHeight + 'px');
};
/**
* records all change mede to the image
* this features will be implemented next release
*/
function addImageHistory()
{
imageHistory = true;
initDisabledButtons(false);
};
/**
* cleare all records
* this features will be implemented next release
*/
function clearImageHistory()
{
imageHistory = false;
initDisabledButtons(true);
};
function initDisabledButtons(forceDisable)
{
if(numSessionHistory)
{
toggleDisabledButton('actionUndo', false);
}else
{
toggleDisabledButton('actionUndo', true);
}
if(imageHistory)
{
toggleDisabledButton('actionSave', false);
toggleDisabledButton('actionReset', false);
}else
{
toggleDisabledButton('actionSave', true);
toggleDisabledButton('actionReset', true);
}
};
/**
* return record
* this features will be implemented next release
*/
function getImageHistory()
{
return imageHistory;
};
/**
* check if there exists any changes
* this features will be implemented next release
*/
function isImageHistoryExist()
{
return imageHistory;
};
function flipHorizontal()
{
if(window.confirm(warningFlipHorizotal))
{
addImageHistory();
$('#flip_angle').val('horizontal');
$('#mode').val('flip');
saveImage();
}
return false;
};
function flipVertical()
{
if(window.confirm(warningFlipVertical))
{
addImageHistory();
$('#flip_angle').val('vertical');
$('#mode').val('flip');
saveImage();
}
return false;
};
function enableFlip()
{
toggleDisabledButton('actionFlipH', false);
toggleDisabledButton('actionFlipV', false);
};
function toggleDisabledButton(buttonId, forceDisable)
{
var disabledButton = $('#' + buttonId);
var newClass = '';
var changeRequired = true;
var toBeDisabled = false;
var currentClass = $(disabledButton).attr('class') ;
if(typeof(forceDisable) == 'boolean')
{
if(forceDisable && currentClass == 'button')
{
newClass = 'disabledButton';
$(disabledButton).attr('disabled', 'disabled');
}else if(!forceDisable && currentClass == 'disabledButton')
{
newClass = 'button';
$(disabledButton).removeAttr('disabled');
}else
{
changeRequired = false;
}
}
else if(currentClass == 'button')
{
newClass = 'disabledButton';
$(disabledButton).attr('disabled', 'disabled');
}else
{
newClass = 'button';
$(disabledButton).removeAttr('disabled');
}
if(changeRequired)
{
$(disabledButton).removeClass('button disabledButton');
$(disabledButton).addClass(newClass);
}
};
function disableFlip()
{
toggleDisabledButton('actionFlipH', true);
toggleDisabledButton('actionFlipV', true);
};
function undoImage()
{
if(numSessionHistory < 1)
{
alert(warningResetEmpty);
}else
{
if(window.confirm(warningUndoImage))
{
processImage('formAction');
}
}
return false;
};
function processImage(formId)
{
$("#loading")
.ajaxStart(function(){
$(this).show();
})
.ajaxComplete(function(){
$(this).hide();
});
var options =
{
dataType: 'json',
error: function (data, status, e)
{
alert(e);
},
success: function(data)
{
if(typeof(data.error) == 'undefined')
{
alert('Unexpected information ');
}
else if(data.error != '')
{
alert(data.error);
}else
{
$("#loading").show();
currentFolder = data.folder_path;
if(data.save_as == '1')
{
numSessionHistory = 0;
}else
{
numSessionHistory = parseInt(data.history);
}
$('#file_path').val(data.path);
$('#path').val(data.path);
var preImage = new Image();
preImage.width = data.width;
preImage.height = data.height;
preImage.onload = function()
{
$('#hiddenImage').empty();
$(preImage).appendTo('#hiddenImage');
changeMode(false, true);
$('#loading').hide();
$('#windowSaveAs').jqm().jqmHide();
};
var now = new Date();
preImage.src = data.path + "?" + now.getTime();
}
}
};
$('#' + formId).ajaxSubmit(options);
return false;
};
function saveAsImagePre()
{
$('#windowSaveAs').jqm().jqmShow();
var saveTo = $('#save_to');
$(saveTo).removeOption(/./);
$(saveTo).ajaxAddOption(urlGetFolderList, {}, false,
function()
{
$(saveTo).selectOptions(currentFolder);
});
return false;
};
function saveAsImage()
{
var pattern=/^[A-Za-z0-9_ \-]+$/i;
var newName = $('#new_name');
var saveAs = $('#save_to').get(0);
//alert($(saveAs).val());
if(!pattern.test($(newName).val()))
{
alert(warningInvalidNewName);
}else if(saveAs.selectedIndex < 0)
{
alert(warningNoFolderSelected);
}else
{
$('#hidden_new_name').val($(newName).val());
$('#hidden_save_to').val(saveAs.options[saveAs.selectedIndex].value);
if(saveImage(true))
{
}
}
return false;
};
function saveImage(saveAs)
{
if(typeof(saveAs) == 'boolean' && saveAs)
{
}else
{//remove new name if just normal save
$('#hidden_new_name').val('');
$('#hidden_save_to').val('');
}
if (!isImageHistoryExist() && (typeof(saveAs) == 'undefined' || !saveAs))
{
alert(noChangeMadeBeforeSave);
}else
{
if(processImage('formImageInfo'))
{
return true;
}
}
return false;
};
function editorClose()
{
if(window.confirm(warningEditorClose))
{
window.close();
}
return false;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -