使用画布裁剪图像 - 结果是小图像

卡登扎

我正在尝试使用画布裁剪图像。
原始图像为 2217 x 790。
加载到页面时将其缩放为 1515 x 540
画布为 960 x 540。
图像和画布都位于屏幕中央,因此水平对齐。
我需要裁剪中心区域 - 960 x 540。

var img = document.getElementById("imgt");
var canvas = document.getElementById("canvasa");
var ctx = canvas.getContext("2d");

var a = $('#imgt').width() - 960;
var a = a/2; // this is 277.7...

ctx.drawImage(img, a, 0, 960, 540, 0, 0, 960, 540);
//also tried:
ctx.drawImage(img, 0, 0, 960, 540, 0, 0, 960, 540);

var newimg = new Image();
newimg.src = canvas.toDataURL('image/jpeg');

var dl = document.createElement("a");
dl.href = canvas.toDataURL("image/jpeg");
dl.download = true;
document.body.appendChild(dl);
dl.click();

下载newimg我所看到的 - 它是300 x 150

易卜拉欣坦雅辛

有关宽度属性和宽度作为样式之间的差异,请参阅我的评论。它们并不完全相同。此外,我只是做了一个小提琴,因为你没有,我没有得到同样的行为!下载的图片为960*540

HERE - 延迟触发

负载

setTimeout(function(){
  var canvas = document.createElement("canvas");
  canvas.width = "960";
  canvas.height="540";
  var ctx = canvas.getContext("2d");
  ctx.drawImage(document.images[0], 0, 0, 960, 540, 0, 0, 960, 540);
  var a = document.createElement("a");
  a.download = "image.jpeg";
  a.href = canvas.toDataURL("image/jpeg");
  a.click();
},5000);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用画布旋转和裁剪图像

来自分类Dev

裁剪画布中显示的图像

来自分类Dev

如何调整大小然后使用画布裁剪图像

来自分类Dev

使用JCrop裁剪图像绘制到画布中

来自分类Dev

使用JCrop裁剪绘制到画布中的图像

来自分类Dev

使用Javascript裁剪图像(裁剪)

来自分类Dev

画布-裁剪不同形状的图像

来自分类Dev

图像对象裁剪并在画布中心绘制

来自分类Dev

画布缩放时如何裁剪图像

来自分类Dev

通过画布旋转后的图像裁剪

来自分类Dev

图像对象裁剪并在画布中心绘制

来自分类Dev

如何从图像画布中裁剪颜色部分?

来自分类Dev

如何在画布中对角裁剪图像

来自分类Dev

使用坐标裁剪图像

来自分类Dev

使用CSS裁剪图像

来自分类Dev

如何从保存的base64图像中裁剪未使用的画布空间?

来自分类Dev

使用非矩形的html5画布裁剪图像并进行转换

来自分类Dev

如何使用AsciiDoctor裁剪/裁剪图像

来自分类Dev

如何使用mogrify裁剪图像

来自分类Dev

使用JCrop保存裁剪的图像

来自分类Dev

如何使用drawImage()裁剪图像?

来自分类Dev

如何使用CSS裁剪图像

来自分类Dev

使用 Laravel 保存裁剪图像

来自分类Dev

如何按路径而不是区域裁剪画布图像

来自分类Dev

使用Libgdx从图像中裁剪图像

来自分类Dev

如何使用 angular 2 和 typescript 裁剪图像、调整裁剪框的大小并将其保存在另一个画布中

来自分类Dev

裁剪大图像,但填充小图像

来自分类Dev

ios GPUImage,使用小尺寸图像处理图像的结果不好?

来自分类Dev

HTML5画布:在单个画布上的范围内旋转裁剪的图像