没有合适的资源?快使用搜索试试~ 我知道了~
使用JavaScript+canvas实现图片裁剪
7 下载量 144 浏览量
2020-12-11
02:50:25
上传
评论 2
收藏 45KB PDF 举报
温馨提示
canvas是一个可以让我们使用脚本绘图的标签,它提供了一系列完整的属性和方法。我们可以借此来实现图形绘制,图像处理甚至实现简单的动画和游戏制作。 canvas标签只有两个属性:width和height,用来设定画布的宽和高,如果没有通过标签属性或者脚本来设置,默认为300*150; 好了,canvas的介绍就先到这里,下面我们来看看javascript结合canvas实现图片的裁剪代码: 代码如下: var selectObj = null; function ImageCrop(canvasId, imageSource, x, y, width, height) { var c
资源推荐
资源详情
资源评论































使用使用JavaScript+canvas实现图片裁剪实现图片裁剪
canvas是一个可以让我们使用脚本绘图的标签,它提供了一系列完整的属性和方法。我们可以借此来实现图形绘制,图像处
理甚至实现简单的动画和游戏制作。
canvas标签只有两个属性:width和height,用来设定画布的宽和高,如果没有通过标签属性或者脚本来设置,默认为
300*150;
好了,canvas的介绍就先到这里,下面我们来看看javascript结合canvas实现图片的裁剪代码:
代码如下:
var selectObj = null;
function ImageCrop(canvasId, imageSource, x, y, width, height) {
var canvas = $(“#” + canvasId);
if (canvas.length == 0 && imageSource) {
return;
}
function canvasMouseDown(e) {
StopSelect(e);
canvas.css(“cursor”, “default”);
}
function canvasMouseMove(e) {
var canvasOffset = canvas.offset();
var pageX = e.pageX || event.targetTouches[0].pageX;
var pageY = e.pageY || event.targetTouches[0].pageY;
iMouseX = Math.floor(pageX – canvasOffset.left);
iMouseY = Math.floor(pageY – canvasOffset.top);
canvas.css(“cursor”, “default”);
if (selectObj.bDragAll) {
canvas.css(“cursor”, “move”);
canvas.data(“drag”, true);
var cx = iMouseX – selectObj.px;
cx = cx < 0 ? 0 : cx;
mx = ctx.canvas.width – selectObj.w;
cx = cx > mx ? mx : cx;
selectObj.x = cx;
var cy = iMouseY – selectObj.py;
cy = cy < 0 ? 0 : cy;
my = ctx.canvas.height – selectObj.h;
cy = cy > my ? my : cy;
selectObj.y = cy;
}
for (var i = 0; i < 4; i++) {
selectObj.bHow[i] = false;
selectObj.iCSize[i] = selectObj.csize;
}
// hovering over resize cubes
if (iMouseX > selectObj.x – selectObj.csizeh && iMouseX < selectObj.x + selectObj.csizeh &&
iMouseY > selectObj.y – selectObj.csizeh && iMouseY < selectObj.y + selectObj.csizeh) {
canvas.css(“cursor”, “pointer”);
selectObj.bHow[0] = true;
selectObj.iCSize[0] = selectObj.csizeh;
}
if (iMouseX > selectObj.x + selectObj.w – selectObj.csizeh && iMouseX < selectObj.x + selectObj.w + selectObj.csizeh
&&
iMouseY > selectObj.y – selectObj.csizeh && iMouseY < selectObj.y + selectObj.csizeh) {
canvas.css(“cursor”, “pointer”);
selectObj.bHow[1] = true;
selectObj.iCSize[1] = selectObj.csizeh;
}
if (iMouseX > selectObj.x + selectObj.w – selectObj.csizeh && iMouseX < selectObj.x + selectObj.w + selectObj.csizeh
&&
iMouseY > selectObj.y + selectObj.h – selectObj.csizeh && iMouseY < selectObj.y + selectObj.h + selectObj.csizeh)
{
canvas.css(“cursor”, “pointer”);
selectObj.bHow[2] = true;
selectObj.iCSize[2] = selectObj.csizeh;
}
资源评论


weixin_38655496
- 粉丝: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 任务驱动教学法在《计算机网络基础》课程中的应用.docx
- 光缆保护系统快速性和可靠性的软件设计的论文-软件工程论文.docx
- 融合语义与情感分析的区块链产业新闻监测研究.docx
- 建融--布线-无线网络方案.doc
- 2014年上半年数据库系统工程师标准答案详解.docx
- 电子商务配送物流管理系统分析与设计.doc
- 基于微课的翻转课堂模式在计算机教学中的应用研究.docx
- 网络编程技术次课多线程代码.doc
- 基于蓝牙的智能家居网络方案设计书.doc
- 大连市建设工程电子文件编制软件帮助v.doc
- 2014年湖北经济学院计算机软件工程专业参考表2.doc
- 施工企业项目管理的6个重点.docx
- 浅析互联网+篮球教学体系的创新研究.docx
- 求组合问题的不同算法比较分析.docx
- 优选互联网区块链科技商业创业计划书PPTppt模板.pptx
- 工业物联网产品方案.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
