如何缩放imageData

时间:2015-07-05 20:32:11

标签: canvas html5-canvas

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

 var imgData = ctx.createImageData(160,200)
 .....

2 个答案:

答案 0 :(得分:0)

您是否尝试过putImageData并使用重绘进行缩放?

$r = Invoke-WebRequest -Uri "http://www.twitter.com"
$r.Forms[1].Fields.session[username_or_email] = "user"
$r.Forms[1].Fields.session[password] = "password"

答案 1 :(得分:0)

首先解决方案是使用中间画布 但是,您可以通过在主画布上绘制并在其9个参数中使用drawImage来避免使用另一个画布:

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)
  <canvas id='cv' width=640 height=400></canvas>