⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 image_editor_general.js

📁 jquery+prototype+插件+源码+资料 非常的东西
💻 JS
📖 第 1 页 / 共 2 页
字号:
			$('#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 + -