当前位置:首页 » 文件管理 » jcrop上传裁剪

jcrop上传裁剪

发布时间: 2022-03-08 00:18:59

A. jquery.jcrop和imgareaselect插件的兼容性分别如何

之前专门写的一个基于Jcrop图片裁剪实现的插件文章,希望对你有帮助 http://blog.csdn.net/sq111433/article/details/17562703

B. 怎么实现php上传图片并可以裁剪的功能,类似一些网站的头像截取,裁剪可以用jcrop插件。高分悬赏

php本身有裁剪图片的函数,js的截取一般是获得几个坐标,供这个函数作为参数,php在图片上传到服务器临时空间的时候,对图片进行裁剪,再按编程人的需求保存到指定目录。

网络下现成的,或者翻翻手册。

C. Jcrop裁剪图片,火狐浏览器下出现小黑点

这种情况最好提供一个截图,方便准确判断具体原因,仅从提问中描述的内容,很难判断准确的原因。尝试在其他窗口中操作截图测试下,如果仅火狐窗口会有,建议关闭火狐的硬件加速功能,再操作。

D. 怎么用js或者jquery实现本地裁剪

网上很多这样的图片裁剪插件,最好用最常用的是jcrop,这里是他的官网
http://www.webresourcesdepot.com/jquery-image-crop-plugin-jcrop/

当然中文翻译过来的文章也很多,楼主可以搜索下~

js或者jQuery在这里只能实现确立要裁剪的范围,实际的裁剪是要交给后台进行的。

基本思路就是,设定一个半透明框,在要裁剪的图片中进行拖动和定位,然后把这个框的范围(也就是四个角的坐标送到后台),后台如PHP提供相关的图片处理函数,对图片进行裁剪。

思路比较简单,操作起来也不难。

希望对楼主有帮助~~

E. jquery jcrop插件怎么截屏

<div id="cutImage" style="display: none;">
<div class="bigImg" style="float: left;">
<img id="srcImg" src="" width="400px" height="270px"/>
</div>
<div id="preview_box" class="previewImg">
<img id="previewImg" src="" width="120px"/>
</div>

<div >
<form action="" method="post" id="crop_form">
<input type="hidden" id="bigImage" name="bigImage"/>
<input type="hidden" id="x" name="x" />
<input type="hidden" id="y" name="y" />
<input type="hidden" id="w" name="w" />
<input type="hidden" id="h" name="h" />
<P><input type="button" value="确认" id="crop_submit"/></P>
</form>
</div>
</div>

样式:大图、小图展示都需要固定高度、宽度,因为后台需要进行放大处理。即:<img width=""height=""/>
然后是使用jcrop了。在使用jcrop前我们需要下载jcrop:http://deepliquid.com/content/Jcrop.html。
将下载的压缩解压后可以看到三个文件夹及一个index.html文件,/

css下放置的是Jcorp的样式文件,/demo下放置的是几个简单的例子(index.html中引用的链接就是放置在这个文件夹下),/js下放置的是Jcorp中最重要的脚本文件。我们只需要使用三个文件即可:jquery.Jcrop.css、jquery.Jcrop.js、JQuery.js
使用方法:

复制代码 代码如下:

//裁剪图像
function cutImage(){
$("#srcImg").Jcrop( {
aspectRatio : 1,
onChange : showCoords,
onSelect : showCoords,
minSize :[200,200]
});
//简单的事件处理程序,响应自onChange,onSelect事件,按照上面的Jcrop调用
function showCoords(obj) {
$("#x").val(obj.x);
$("#y").val(obj.y);
$("#w").val(obj.w);
$("#h").val(obj.h);
if (parseInt(obj.w) > 0) {
//计算预览区域图片缩放的比例,通过计算显示区域的宽度(与高度)与剪裁的宽度(与高度)之比得到
var rx = $("#preview_box").width() / obj.w;
var ry = $("#preview_box").height() / obj.h;
//通过比例值控制图片的样式与显示
$("#previewImg").css( {
width : Math.round(rx * $("#srcImg").width()) + "px", //预览图片宽度为计算比例值与原图片宽度的乘积
height : Math.round(rx * $("#srcImg").height()) + "px", //预览图片高度为计算比例值与原图片高度的乘积
marginLeft : "-" + Math.round(rx * obj.x) + "px",
marginTop : "-" + Math.round(ry * obj.y) + "px"
});
}
}
}

在使用jcrop前一定要先将$(“”).jcrop();进行预初始化,否则没有效果。
还有一种调用的方法,

复制代码 代码如下:

var api = $.Jcrop('#cropbox',{
onChange: showPreview,
onSelect: showPreview,
aspectRatio: 1
});

这种方法是将Jcrop生成的对象赋给一个全局变量,这样操作就会比较方便。
通过上面的js,就将X轴坐标、Y轴坐标、高度H、宽度W这个四个值传递给后台了,后台就只需要根据这四个值
进行放大处理,然后切割即可。

Action

复制代码 代码如下:

/**
* 裁剪头像
*/
public String cutImage(){
/*
* 获取参数
* x,y,w,h,bigImage
*/
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
int x = Integer.valueOf(request.getParameter("x"));
int y = Integer.valueOf(request.getParameter("y"));
int w = Integer.valueOf(request.getParameter("w"));
int h = Integer.valueOf(request.getParameter("h"));
String bigImage = request.getParameter("bigImage");

//获取文件真实路径
//获取文件名
String[] imageNameS = bigImage.split("/");
String imageName = imageNameS[imageNameS.length-1];
//文件正式路径
String imagePath = getSavePath()+"\\"+imageName;

//切割图片
ImageCut imageCut = new ImageCut();
imageCut.cutImage(imagePath, x, y, w, h);

//头像裁剪完成后,将图片路径保存到用户
UserBean userBean = (UserBean) request.getSession().getAttribute("userBean");
userBean.setUserPhoto(bigImage);
//保存头像
UserCenterService centerService = new UserCenterService();
centerService.updatePhoto(userBean);
//将修改后的用户保存到session中
request.getSession().setAttribute("userBean", userBean);

return "updatePhoto";
}
}

裁剪图片工具类:ImageCut.java

复制代码 代码如下:

public class ImageCut {

/**
* 图片切割
* @param imagePath 原图地址
* @param x 目标切片坐标 X轴起点
* @param y 目标切片坐标 Y轴起点
* @param w 目标切片 宽度
* @param h 目标切片 高度
*/
public void cutImage(String imagePath, int x ,int y ,int w,int h){
try {
Image img;
ImageFilter cropFilter;
// 读取源图像
BufferedImage bi = ImageIO.read(new File(imagePath));
int srcWidth = bi.getWidth(); // 源图宽度
int srcHeight = bi.getHeight(); // 源图高度

//若原图大小大于切片大小,则进行切割
if (srcWidth >= w && srcHeight >= h) {
Image image = bi.getScaledInstance(srcWidth, srcHeight,Image.SCALE_DEFAULT);

int x1 = x*srcWidth/400;
int y1 = y*srcHeight/270;
int w1 = w*srcWidth/400;
int h1 = h*srcHeight/270;

cropFilter = new CropImageFilter(x1, y1, w1, h1);
img = Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(image.getSource(), cropFilter));
BufferedImage tag = new BufferedImage(w1, h1,BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(img, 0, 0, null); // 绘制缩小后的图
g.dispose();
// 输出为文件
ImageIO.write(tag, "JPEG", new File(imagePath));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

F. jcrop配合后台的php怎么实现

jcrop是一个图片裁剪的jquery插件,在官方的demo包里有php的范例代码。

G. java的手机截屏jcrop的aspectratio参数怎么动态获取

jcrop原始下载页面:

基本使用方法如下:

一、在head部分(<head>和</head>之间)插入相关css和js文件。

<link rel="stylesheet" href="css/jquery.Jcrop.css">
<script
src="js/jquery.js"></script>
<script
src="js/jquery.Jcrop.js"></script>

二、在head部分插入回调函数等相关处理参数。

复制代码
代码如下:

<script language="Javascript">

<!--
jQuery(function($){
// Create variables (in this scope) to hold
the API and image size
var jcrop_api, boundx, boundy;

$('#cropbox').Jcrop({
minSize: [0,0],
maxSize:[0,0],
setSelect:
[0,0,0,0],
boxWidth:800,
borderOpacity:0.3,

keySupport:false,
dragEdges:false,
allowSelect:false,

allowResize:false,
bgOpacity:0.2,
boundary:0,

//allowMove:false,
addClass: 'jcrop-handle',
onSelect:
updateCoords,
},
function(){
// Use the API to get the real image
size
var bounds = this.getBounds();
boundx = bounds[0];
boundy =
bounds[1];
// Store the API in the jcrop_api variable
jcrop_api =
this;
});
function updateCoords(c)
{
$('#x').val(c.x);

$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
};

function checkCoords()
{
if (parseInt($('#w').val())) return
true;
alert('请选择裁剪区域');
return false;
};

});
-->
</script>

H. jcrop裁剪出来的图片,为什么是真,和想裁剪的大小位置都不一样

我的也不一样。。。。


请在此输入您的回答

I. 哪位大神有jquery无刷新上传图片、裁剪、保存图片的案例啊

jquery.jcrop 图片裁剪(很好很强大)
http://deepliquid.com/content/Jcrop.html |
http://www.jb51.net/article/18273.htm

热点内容
编程好软件 发布:2025-01-16 20:38:07 浏览:423
流量密码如何改成 发布:2025-01-16 20:37:13 浏览:50
java判断是否是对象 发布:2025-01-16 20:31:04 浏览:885
python调用外部程序 发布:2025-01-16 20:14:09 浏览:397
缓解压力英语作文 发布:2025-01-16 20:13:31 浏览:65
javaname 发布:2025-01-16 20:13:15 浏览:22
用户访问表空间 发布:2025-01-16 20:07:07 浏览:944
java代码自动编译 发布:2025-01-16 19:58:14 浏览:314
编程很困难 发布:2025-01-16 19:58:09 浏览:674
gg登录源码 发布:2025-01-16 19:58:07 浏览:293