js上傳圖片裁剪
A. 圖片上傳前用JS代碼進行預覽並編輯裁剪區域
http://love21cn.msn.com.cn的圖片上傳功能後可以實現區域截圖,也可以實現放大縮小...估計是用了JS來實現的:
var div_move = 0;
var IE = document.all?true:false;
var tempX,tempY,oldX,oldY;
var have_move = 0;
function grasp()
{
div_move = 1;
if(IE)
{
document.getElementById("source_div").setCapture();
}
}
function free()
{
div_move = 0;
have_move = 0;
document.getElementById("source_div").releaseCapture();
}
function getMouseXY(e)
{
if (IE)
{ // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft
tempY = event.clientY + document.body.scrollTop
}
else
{
// grab the x-y pos.s if browser is NS
tempX = e.pageX
tempY = e.pageY
}
// catch possible negative values in NS4
if (tempX < 0){tempX = 0}
if (tempY < 0){tempY = 0}
}
function move_it(e)
{
getMouseXY(e);
if(div_move == 1)
{
if(have_move == 0)
{
//alert('a');
oldX = tempX;
oldY = tempY;
have_move = 1;
}
var left = parseInt(document.getElementById("source_div").style.left);
var top = parseInt(document.getElementById("source_div").style.top);
//alert(top);
//alert(left);
//alert(tempX);
//alert(oldX);
document.getElementById("source_div").style.left = left + tempX - oldX;
document.getElementById("source_div").style.top = top + tempY - oldY;
oldX = tempX;
oldY = tempY;
}
}
function change_size(method)
{
if(method == 1)
{
var per = 1.25;
}
else
{
var per = 0.8;
}
document.getElementById("show_img").width = document.getElementById("show_img").width*per;
//document.getElementById("show_img").height = document.getElementById("show_img").height*per;
}
function micro_move(method)
{
switch (method)
{
case "up":
var top = parseInt(document.getElementById("source_div").style.top);
document.getElementById("source_div").style.top = top - 5;
break;
case "down":
var top = parseInt(document.getElementById("source_div").style.top);
document.getElementById("source_div").style.top = top + 5;
break;
case "left":
var left = parseInt(document.getElementById("source_div").style.left);
document.getElementById("source_div").style.left = left - 5;
break;
case "right":
var left = parseInt(document.getElementById("source_div").style.left);
document.getElementById("source_div").style.left = left + 5;
break;
}
}
function turn(method)
{
var i=document.getElementById('show_img').style.filter.match(/\d/)[0]
//alert(i);
i=parseInt(i)+parseInt(method);
//alert(i);
if(i<0)
{
i += 4;
}
if(i>=4)
{
i -= 4;
}
//alert(i);
document.getElementById('show_img').style.filter='progid:DXImageTransform.Microsoft.BasicImage(Rotation='+i+')'
}
function mysub()
{
var Oform = document.myform;
Oform.go.value = 1;
Oform.width.value = document.getElementById("show_img").width;
Oform.left.value = document.getElementById("source_div").style.left;
Oform.top.value = document.getElementById("source_div").style.top;
if(IE)
{
Oform.turn.value = document.getElementById('show_img').style.filter.match(/\d/)[0];
}
Oform.submit();
}
蘋果樹下也有類似功能不過,功能要比你所說的強大的多...
資料搜集於網路知道!
B. 有沒有辦法 JS裁剪圖片,嫻獎鏡
形縮放,就這點不太讓我滿意。
以下是簡單的頁面設計:
<div style="float:left;"><img id="target"></div>
<div style="width:48px;height:48px;margin:10px;overflow:hidden; float:left;"><img style="float:left;" id="preview" ></div>
<div style="width:190px;height:195px;margin:10px;overflow:hidden; float:left;"><img style="float:left;" id="preview2" ></div>
<form action="{:U('/test/crop_deal')}" me
C. 用js裁剪圖片大小尺寸和java代碼裁剪圖片尺寸哪個效率高
那還用問,當然是Java啦。
D. 如何裁剪 CSS/JS 文件
弱弱地問一句,裁剪CSS/JS 文件是什麼意思
E. 求js上傳圖片->預覽->剪裁後生成圖片->上傳的demo.
瀏覽器不允許直接操作本地的文件,所以截取需要找其他方式,一般比較流行的做法是,在前端做一個類似截取的流程,最後保存下來的是截取的坐標,然後將截取坐標傳送到後台由後台根據坐標截取,前端只負責顯示。
截取流程就是你已經找到的插件都基本ok的,如果你一定要執行前端截取,可以嘗試canvas,在你走完截取流程後獲得坐標後,新建一個canvas根據坐標把圖片渲染在canvas中,然後將canvas中的圖片傳送給後端,我不太確認canvas能否完美完成任務,我感覺canvas還是會完整的將圖片傳送給後端。所以只能自己去嘗試了。
F. js圖片上怎麼編輯
可以對一圖片進行諸如:裁剪、
調整大小、旋轉、暴光(暴光、對比度)、
色彩(飽和度、色溫)、銳化、等。
還可以進行比如一些文字的添加,
增加圖片框什麼的。
G. 如何在圖片上傳前用js(jquery)判斷圖片的尺寸
創建img標簽:
IE瀏覽器直接src=圖片本地路徑,然後可以獲取這個img的尺寸。
其他瀏覽器使用HTML5的FileReader獲取文件資源轉化為base64寫入img的src,然後可以獲取這個img尺寸。
H. JS代碼修改 / 或者提供一段圖片自動等比例縮放後裁剪的代碼
<scripttype="text/javascript">
functionCheckProperty(obj){
varImgObj=newImage();
ImgObj.src=obj.src;
ImgWidth=ImgObj.width
ImgHeight=ImgObj.height;
setCenter(obj)
zoom(obj,ImgWidth,ImgHeight);
}
functionsetCenter(obj){
obj.parentNode.style.display='block';
obj.parentNode.style.width=obj.width;
obj.parentNode.style.height=obj.height;
obj.parentNode.style.overflow='hidden';
}
functionzoom(obj,width,height){
varleft=0;
vartop=0;
Mw=obj.width/width;
Mh=obj.height/height;
if(Mw>Mh){
old=obj.height;
obj.style.height=obj.width*height/width;
top=Math.floor((old-obj.height)/2);
}else{
old=obj.width;
obj.style.width=obj.height*width/height;
left=Math.floor((old-obj.width)/2);
}
obj.style.margin=top+'px'+left+'px';
}
</script>
<div><imgsrc='a.png'width="359"height="251"></div>
原圖<br><br>
<div><imgsrc='a.png'onload='CheckProperty(this)'width="100"height="50"></div>
100*50<br><br>
<div><imgsrc='a.png'onload='CheckProperty(this)'width="200"height="200"></div>
200*200<br><br>
<div><imgsrc='a.png'onload='CheckProperty(this)'width="100"height="200"></div>
100*200<br><br>
<div><imgsrc='a.png'onload='CheckProperty(this)'width="400"height="500"></div>
400*500<br><br>
<div><imgsrc='a.png'onload='CheckProperty(this)'width="300"height="150"></div>
300*150<br><br>
經過我的測試,沒發現問題,也沒有錯誤,下邊是執行效果:
I. 怎麼用js或者jquery實現本地裁剪
網上很多這樣的圖片裁剪插件,最好用最常用的是jcrop,這里是他的官網
http://www.webresourcesdepot.com/jquery-image-crop-plugin-jcrop/
當然中文翻譯過來的文章也很多,樓主可以搜索下~
js或者jQuery在這里只能實現確立要裁剪的范圍,實際的裁剪是要交給後台進行的。
基本思路就是,設定一個半透明框,在要裁剪的圖片中進行拖動和定位,然後把這個框的范圍(也就是四個角的坐標送到後台),後台如PHP提供相關的圖片處理函數,對圖片進行裁剪。
思路比較簡單,操作起來也不難。
希望對樓主有幫助~~
J. js或者jQuery裁剪圖片然後放大。
不知道你所說的圖片是不是用戶上傳的
如果是的話我有寫了一個插件可以用
這個網址是測試用的
https://jhinsama.github.io/demos/image-clip
這個網址有使用方法
https://github.com/Jhinsama/Jhinsama.github.io/tree/master/demos/image-clip
如果使用方法看不懂的可以直接私信我
順便說一句
這個插件支持手機網頁