前端往后端传的是那个框框相对这张图片的坐标,也就是说你只要传四个角的坐标,后台通过这四个坐标把图片裁剪出来。
所以google两下:1,如何js裁剪图片,2,如何用java裁剪图片。
这种效果到处都是,肯定已经有了成熟的解决方案。来这里问之前,还不如先google
其实整个过程是这样的你先选择了一张图上传到了服务器,然后你在前端页面用鼠标拖出了一个矩形区域,js会获取你的矩形区域左上角在图上的坐标,并且能获得矩形区域的宽和高,把这三个数据用ajax发送到服务器,服务器接受到用一个处理图片的类来剪裁之前已经上传到服务器的图片,这样就剪裁完成了。我看到的剪裁图片的Flash居多,但是js也能实现,我使用过的插件是这个jcrop
网上有一些比较成熟的方案的,你百度搜索下“仿新浪微博上传头像组件”试试。
这个是flash的。点上传并选择大小后,flash会自动做处理,并把处理后的图片post到后台程序。后台对post过来的stream做处理就可以了。
首先你先找一下jquery的剪裁图片的插件,然后处理完成之后通过post后台通过文件流来读取文件,然后以二进制的方式存放到数据库中。读取的时候再取出来!
你可以看看www.80iter.com的个人中心设置里面的功能是否是你想要的,如果是,可以联系我~
我强烈建议 请别在服务器端裁剪。用flash做裁剪吧, 在客户端裁剪好后上传, java只要接收上传后的所在路径就行了。
用神马js、jquery插件, 兼容性不好。各大网站论坛上的头像裁剪都是flash的。 这年头谁的电脑上没有flash播放器啊。
flash裁剪的示例, 你可以试试搜索avatar.swf 和@RandyTech提供的答案“仿新浪微博上传头像组件”。