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> ...
随机推荐
- [转]javascript函数定义表达式和函数声明的区别
在javascript中,函数有两种定义写法,函数定义表达式和函数声明,其例子分别如下所示: var test = function(x){ return x; } function test(x){ ...
- Javascript 中神奇的 this
Javascript 当中的 this 与其他语言是完全不同的机制,很有可能会让一些编写其他语言的工程师迷惑. 1. 误以为 this 指向函数自身 根据 this 的英语语法,很容易将函数中出现的 ...
- 转载:详解CSS选择器、优先级与匹配原
转载网址:http://polaris1119.javaeye.com/blog/764428 文章就CSS选择器的优先级问题做了一些总结,严格来讲,选择器的种类可以分为三种:标签名选择器.类选择器和 ...
- 手机时间选择插件 Jquery
// 时间选择 var currYear = (new Date()).getFullYear() var opt_data = { preset: 'date', //日期 theme: 'andr ...
- notes: the architecture of GDB
1. gdb structure at the largest scale,GDB can be said to have two sides to it:1. The "symbol si ...
- Android百度地图默认位置中心点设置
//初始化地图 MapView mMapView = (MapView) findViewById(R.id.map); BaiduMap mBaidumap = mMapView.getMap ...
- mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案
在连接字符串中 添加设置节点 ConnectionLifeTime(计量单位为 秒).超过设定的连接会话 会被杀死! Connection Lifetime, ConnectionLifeTime ...
- Basefragment的封装使用
1.前言 封装作为面向对象的三大特性之一,在我们平时的coding过程用的那是非常的多的.大多数时候,我们可以根据封装情况评判代码的质量水平. 本文主要讲解的是fragment的封装.大体上,在项目的 ...
- BZOJ3396: [Usaco2009 Jan]Total flow 水流
3396: [Usaco2009 Jan]Total flow 水流 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 45 Solved: 27[Sub ...
- Linux企业级项目实践之网络爬虫(30)——通过查阅RFC文档扩充更加复杂的功能
HTTP是一种很简单的请求.响应式协议,客户端发送一个请求.服务器返回一个响应.HTTP 1.1 版本规范由 RFC2616 定义.了解了 HTTP请求.响应消息在TCP数据流中的格式,很容易使用纯 ...