图片在线裁剪(jQuery + HttpHandler)源码
简单说明: Cutter为裁剪对象, 用于存储客户端通过AJAX提交的数据。 Helper为图片处理类, 包括图片翻转(RotateImage()), 图片裁剪(GenerateBitmap())。 Callback为服务器端图片处理类, 通过使用Cutter封装客户端AJAX提交的数据, 然后调用Helper中的方法来完成图片处理。 BitmapScissors是一个HttpHandler, 通过客户端返回的 'action' 来调用Callback中的方法。 客户端AJAX提交的Url为"scissors.axd", 实际为BitmapScissors类(如修改了服务器端处理程序, 请在Web.config中根据实际进行httpHandler节点配置), 为了便于代码管理及功能优化, 将功能进行了归纳, 大致可分为: 缩放(zoom): 细分为放大和缩小, 翻转(rotate): 细分为顺时针和逆时针, 移动(move): 细分为上|右|下|左平移. 所以直接编写三个 '基类' (具体实现看源码): izoom(zv): 提供图片放大或缩小功能, zv为当前缩放比, irotate (angle): 提供图片旋转功能, angle为当前旋转角度, imove(direction): 提供原图平移功能, direction为移动方向, 包括'left','up','right','down'.
用户评论
这个例子蛮不错的