首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何缩放imageData

如何缩放imageData
EN

Stack Overflow用户
提问于 2015-07-06 04:32:11
回答 2查看 621关注 0票数 0

如何缩放imageData?我有160x200的imageData对象,现在我想把它显示为640x400。这必须是快速的,因为完成了每个渲染步骤。

代码语言:javascript
复制
 var imgData = ctx.createImageData(160,200)
 .....
EN

回答 2

Stack Overflow用户

发布于 2015-07-06 05:11:50

你有没有尝试过putImageData和缩放重绘?

代码语言:javascript
复制
ctx.putImageData(imgData, 0, 0);
ctx.scale(4, 2);
canvas.width = 640;
canvas.height = 200;
ctx.drawImage(canvas, 0, 0);
票数 0
EN

Stack Overflow用户

发布于 2015-07-06 18:05:11

第一个解决方案是使用中间画布。

但是,您可以避免使用其他画布,只需在主画布上绘制,并在其9参数风格中使用drawImage:

代码语言:javascript
复制
var ctx=cv.getContext('2d');

// clear canvas
ctx.fillStyle = '#FFF';
ctx.fillRect(0,0,640, 400);

// draw a circle in the 160X200 part
ctx.fillStyle = '#000';
ctx.beginPath();
ctx.arc (80,100, 80, 0, 6.28)
ctx.fill();

// retrieve image data
var imD = ctx.getImageData(0,0,160,200);

// clear canvas
ctx.fillStyle = '#FFF';
ctx.fillRect(0,0,640, 400);

// --------------------

ctx.putImageData(imD, 0, 0);
ctx.drawImage(cv, 0,0, 160, 200, 0, 0, 640, 400)
代码语言:javascript
复制
  <canvas id='cv' width=640 height=400></canvas>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31234727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档