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>
更多像素处理:
分类:
HTML5-Canvas
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人