HTML5 Canvas图片操作简单实例1
1.加载显示图片
<canvas id="canvasOne" class="myCanvas" width="500" height="500"></canvas>
<script>
var canvas = document.getElementById('canvasOne');
var ctx = canvas.getContext('2d');
//加载图片
var img = new Image();
img.onload = function () {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 0, 0, img.width, img.height);
}
img.src = '../images/1.jpg';
</script>
2.获取Canvas数据,显示到img标签
<canvas id="canvasOne" class="myCanvas" width="500" height="500"></canvas>
<img id="imgOne" />
<script>
var canvas = document.getElementById('canvasOne');
var ctx = canvas.getContext('2d');
//加载图片,显示当前图片到其他地方
var img = new Image();
img.onload = function () {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 0, 0, img.width, img.height);
//显示图片的部分内容到img图片标签
var imgOne = document.getElementById('imgOne');
imgOne.width = 1000;
imgOne.height = 600;
//图片内容显示当前画布显示的部分
imgOne.src = canvas.toDataURL('image/png');
}
img.src = '../images/1.jpg';
</script>
3.获取Canvas数据,显示到其他canvas中
<canvas id="target" width="200" height="100"></canvas>
<canvas id="canvasOne" class="myCanvas" width="500" height="500"></canvas>
<script>
var canvas = document.getElementById('canvasOne');
var ctx = canvas.getContext('2d');
var target = document.getElementById('target');
//加载图片
var img = new Image();
img.onload = function () {
ctx.clearRect(0, 0, canvas.width, canvas.height);
//图片缩小,显示
ctx.scale(0.5, 0.5);
ctx.drawImage(img, 0, 0, img.width, img.height); //获取缩小后的像素,显示到其他canvas
var imgData = ctx.getImageData(0, 0, 200, 100);
var ctxTwo = target.getContext('2d');
ctxTwo.putImageData(imgData, 0, 0);
}
img.src = '../images/1.jpg';
</script>
4.Canvas中图片的平铺操作
<canvas id="canvasOne" class="myCanvas" width="500" height="500"></canvas>
<script>
/***图片的背景显示***/
var canvas = document.getElementById('canvasOne');
var ctx = canvas.getContext('2d');
//加载图片
var img = new Image();
img.onload = function () {
ctx.beginPath();
ctx.rect(0, 0, canvas.width, canvas.height);
ctx.scale(0.1, 0.1);
//平铺
//ctx.fillStyle = ctx.createPattern(img, 'repeat'); //水平方向 平铺
//ctx.fillStyle = ctx.createPattern(img,'repeat-x'); //垂直方向 平铺
//ctx.fillStyle = ctx.createPattern(img, 'repeat-y'); //禁用平铺
ctx.fillStyle = ctx.createPattern(img, 'no-repeat'); ctx.fill();
}
img.src = '../images/1.jpg';
</script>
更多像素处理:
http://www.cnblogs.com/tianma3798/p/4264857.html
HTML5 Canvas显示本地图片实例1、Canvas预览图片实例1
HTML5 Canvas图片操作简单实例1的更多相关文章
- 导出HTML5 Canvas图片并上传服务器功能
这篇文章主要介绍了导出HTML5 Canvas图片并上传服务器功能,文中通过实例代码给大家介绍了HTML5 Canvas转化成图片后上传服务器,代码简单易懂非常不错,具有一定的参考借鉴价值,需要的朋友 ...
- html5 canvas 实现一个简单的叮当猫头部
原文:html5 canvas 实现一个简单的叮当猫头部 html5的canvas是很强大的,今天也是温习了一下之前的基础知识,然后学着做了一个简单的小案例.虽然在这一块几乎空白,但还是乐于尝试... ...
- mysqli数据库操作简单实例
mysqli数据库操作简单实例 代码 结果
- 怎样用HTML5 Canvas制作一个简单的游戏
原文连接: How To Make A Simple HTML5 Canvas Game 自从我制作了一些HTML5游戏(例如Crypt Run)后,我收到了很多建议,要求我写一篇关于怎样利用HTML ...
- [译]怎样用HTML5 Canvas制作一个简单的游戏
这是我翻译自LostDecadeGames主页的一篇文章,原文地址:How To Make A Simple HTML5 Canvas Game. 下面是正文: 自从我制作了一些HTML5游戏(例如C ...
- html5 canvas 圆形抽奖的实例
年底没啥,抽空学习了canvas,写了个html5抽奖的代码,造了个轮子,有用的童鞋可以拿走. 其中,canvas.onclick触发抽奖行为,概率可以在core.lottery()函数上添加,美化也 ...
- 【Bugly干货分享】一起用 HTML5 Canvas 做一个简单又骚气的粒子引擎
Bugly 技术干货系列内容主要涉及移动开发方向,是由Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 前言 好吧,说是“粒子引擎”还是大言不 ...
- 一起用HTML5 canvas做一个简单又骚气的粒子引擎
前言 好吧,说是"粒子引擎"还是大言不惭而标题党了,离真正的粒子引擎还有点远.废话少说,先看demo 本文将教会你做一个简单的canvas粒子制造器(下称引擎). 世界观 这个简单 ...
- HTML5 Canvas ( 图片绘制 转化为base64 ) drawImage,toDataURL
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
随机推荐
- osg for android (一) 简单几何物体的加载与显示
1. 首先需要一个OSG for android的环境. (1).NDK 现在Eclipse 对NDK已经相当友好了,已经不需要另外cygwin的参与,具体可以参考 Android NDK开发篇(一) ...
- mahout学习-1
一. 安装软件 需要安装如下文件: java, Eclipse, Maven,Hadoop,mahout 二. 推荐系统简介 每天,我们都会对一些事物表达自己的看法,喜欢,或不喜欢,或不在乎.这些都在 ...
- lnmp下安装ffmpeg和ffmpeg-php教程
现在我将我的过程方法发布出来. 以下都是用SSH命令 一.安装ffmpeg 操作系统:centos6 安装ffmpeg有两种方式:①.用源码包安装,这个不知道怎么回事老是报错②用yum命令安装,cen ...
- SCM管理器
OpenSCManager 打开SCM管理器 CloseServiceHandle 关闭句柄 CreateService 创建服务 OpenService 打开服务 ControlService 控制 ...
- static变量的使用
静态变量 类型说明符是static. 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间 ...
- myEclipse8.* 手动安装ADT插件[转]
Myeclipse8.6手动添加插件: 自动在线安装完ADT插件会导致myeclipse8.6中无法创建web项目以及其他项.解决方法是手动安装步骤如下: 首先安装好 MyEclipse 8.6. 1 ...
- 从汇编来看c语言之指针
一.基础研究 将下面的程序编译连接,用debug加载: 首先执行第一条语句: 发现p=(unsigned char *)0x1000;在这里是把1000赋给一个偏移地址为01af.大小为两字节的内存空 ...
- Practice: Process logs with Apache Hadoop
http://www.ibm.com/developerworks/library/os-log-process-hadoop/ Analyzing Apache logs with Apache P ...
- 开发自定义View
当开发者打算派生自己的UI组件时,首先定义一个继承View基类的子类,然后重写View类的一个或多个方法,通常可以被用户重写的方法如下:构造器:重写构造器是定制View的最基本方法,当Java代码创建 ...
- ASP.NET MVC – 关于Action返回结果类型的事儿(上)
原文:ASP.NET MVC – 关于Action返回结果类型的事儿(上) 本文转自:博客园-文超的技术博客 一. ASP.NET MVC 1.0 Result 几何? Action的 ...