【问题标题】:Upload image -> canvas -> image - sizing issues上传图片 -> 画布 -> 图片 - 大小问题
【发布时间】:2015-07-29 14:52:52
【问题描述】:

我使用文件阅读器读取用户上传的图片,我将画布调整为图片的宽度和高度。

var img = new Image();
img.src = e.target.result;
var canvas = $('#test-canvas')[0];
$('#test-canvas').width(img.width);
$('#test-canvas').height(img.height);

然后我将图像绘制到画布上。

var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0 canvas.width, canvas.height);

然后我将画布添加到图像中

var uploadImageObj = $('<img id="upload-img">');
uploadImageObj.attr('src', canvas.toDataURL());
uploadImageObj.appendTo('.template');

稍后我计划添加读取exif数据,并将相应地旋转图像。

我遇到的问题是图像始终是默认画布尺寸 (300 x 150) - 为什么?我需要它与上传的图片大小相同吗?

【问题讨论】:

  • 你试过设置&lt;canvas&gt;heightwidth吗?
  • 是的,在上面的代码中。
  • 几件事: •使用 img.onload 让图像在尝试绘制之前有时间加载。 •更改画布元素的宽度/高度而不是 CSS 宽度/高度。

标签: javascript html canvas


【解决方案1】:
<div class="row">
        <canvas hidden="hidden" id="canvas" width="1280" height="720" >
        </canvas>
</div>

【讨论】:

  • 否决有效答案?
猜你喜欢
  • 1970-01-01
  • 2015-10-31
  • 2015-04-23
  • 1970-01-01
  • 2013-10-26
  • 2023-03-10
  • 2014-06-22
  • 2020-06-08
相关资源
最近更新 更多