HTML canvas图像裁剪

canvas drawImage方法的图像裁剪理解可能会比较耗时,记录一下,以便供人翻阅!

context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);

这句话的执行过程可以这么理解:

  首先是绘制一幅图像,这幅图像的宽和高就是图像实际的宽和高!

  然后开始裁剪,sx   sy是裁剪的起始位置,swidth和sheight是裁剪的高度和宽度,注意限制一下最大值,不要超出图片的高度和宽度;

  这样图片就裁剪好了,然后就是放到画布上。如何放置,请继续看下去... ...

  后四个参数,实际上是在画布中开辟一个区域,用于放置裁剪下来的图像!

  正常来说应该图像应该是充满整个区域的,奇葩的是偶尔会遇见图像不充满的情况,理解如下:

    仅仅是一个区域,并不代表图像的实际大小,如果图像小,可能会有一部分空白(即未使用),如果大,则不会超出去!

				
时间: 2024-11-05 20:05:58

HTML canvas图像裁剪的相关文章

canvas图像裁剪、压缩、旋转

转载于:http://www.cnblogs.com/dailc/p/7843204.html 前言 前段时间遇到了一个移动端对图像进行裁剪.压缩.旋转的需求.考虑到已有各轮子的契合度都不高,于是自己重新造了一个轮子. 关于图像裁剪.压缩 在HTML5时代,canvas的功能已经非常强大了,可以进行像素级的操作.像图像裁剪.压缩就都是基于canvas来实现的. 关于其中原理,无非就是利用canvas自带的API,复杂一点的就是裁剪框以及旋转后的坐标计算,因此不再赘述. 本文中的图像裁剪.压缩都是

图像裁剪插件

最近写了个,图像裁剪的插件,在这里稍微总结一下: 前端代码(样式可以自己调): <div id="fileView" class="fileView"> <div class="imageBox hidden"> <div class="thumbBox"></div> <div class="spinner" style="display:

图像裁剪示例

概念: 我们在使用Canvas绘制图像时,我们经常会想要只保留图像的一部分,这时我们可以使用Canvas API自带的图像裁剪功能来实现这一想法.此功能是指,在画布内使用路径,只绘制该路径所包括区域内的图像,不绘制路径外的图像. 使用图像上下文对象的不带参数的clip方法来实现Canvas元素的图像裁剪功能. 下面,我们来应用一番,在应用中,把画布背景绘制完成后,调用creat5StartClip函数,在函数中,创建一个五角星的路径,然后使用clip方法设置裁剪区域.具体的执行流程为先装载图像,

PHP《将画布(canvas)图像保存成本地图片的方法》

用PHP将网页上的Canvas图像保存到服务器上的方法 2014年6月27日 歪脖骇客 发表回复 8 在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审结束时用笔在平板电脑上进行电子签名. 这需要我们评审软件里提供这样一个功能:打开浏览器,登录,进入评审意见页,页面最下部有个方块区域,用户在这里用触摸笔进行签名,然后这个签名将会保持 的服务器上. 这样的一个需求在当时是让我大费周折,但如今想起来,如果用html5的canvas实现,真是太简单了.在

html5 canvas图像-图像的缩放

当用户选中复选框之后,应用程序则会重新绘制该图,将其放大,以符合canvas的尺寸. 1 <html> 2 <head> 3 <title>Scaling Images</title> 4 5 <style> 6 body { 7 background: rgba(100, 145, 250, 0.3); 8 } 9 10 #canvas { 11 margin-left: 20px; 12 margin-right: 0; 13 margin-

如何实现Canvas图像的拖拽、点击等操作

上一篇Canvas的博文写完后,有位朋友希望能对Canvas绘制出来的图像进行点击.拖拽等操作,因为Canvas绘制出的图像能很好的美化.好像是想做炉石什么的游戏,我也没玩过. Canvas在我的理解中就好像在一张画布上绘制图像,它只能看到却“摸”不到,那要如何进行操作呢.我不知道网上是怎么做的,这里用自己的想法做了个DEMO分享给大家. 思路: 虽然Canvas不能拖拽,但div可以拖拽,那怎么把二者结合起来呢.初步想法是将一个与Canvas图像大小差不多的div覆盖在其上,在拖拽div时将获

jQuery 图像裁剪插件Jcrop

Jcrop简介 Jcrop 是一个功能强大的 jQuery 图像裁剪插件,结合后端程序(例如:PHP)可以快速的实现图片裁剪的功能. Jcrop是一款免费的软件,采用MIT License发布. 注:本文主要围绕 Jcrop v2.0.0-RC1 版本进行介绍,一些参数或API在 Jcrop v0.9.12 及之前版本中可能并不支持. 版本 Jcrop v0.9.12 支持画一个框截取图片. Jcrop v2.0.0-RC1 相比于老版本,新增了支持画多框的功能. 下载地址: http://jc

jQuery Jcrop 图像裁剪来源

Jcrop 是一个功能强大的 jQuery 图像裁剪插件,结合后端程序(例如:PHP)可以快速的实现图片裁剪的功能. 版本:jQuery v1.5.1+jQuery Jcrop v0.9.12 查看 Demo 下载 jQuery Jcrop v0.9.12 官网下载 提交问题 / Bug / 建议 文档目录 使用方法 参数说明 API 接口 相关信息 使用方法 载入 CSS 文件 <link rel="stylesheet" href="jquery.Jcrop.css

opencv图像裁剪与拼接

舍弃不够整除的部分,对大尺寸的图像裁剪成m行n列的小图,将小图相对大图的行列位置存储在图像名中 之后对小图进行目标检测标注目标位置 再将小图依次拼接,铺成大图 1 # coding=utf-8 2 from PIL import Image 3 # pil paste可以进行图片拼接 4 import cv2 5 import numpy as np 6 import glob as glob 7 import os 8 """ 9 输入:图片路径(path+filename