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
如果使用方法看不懂的可以直接私信我
顺便说一句
这个插件支持手机网页