gpt4 book ai didi

javascript - 自动调整 Canvas 中的图像,如果图像分辨率大于 Html5 中的 Canvas 大小

转载 作者:行者123 更新时间:2023-11-28 03:00:52 27 4
gpt4 key购买 nike

我正在使用 Html5、fabric.js 和 Java 脚本。我在 Canvas 中上传多张图片,但有时上传的图片比 Canvas 大。我希望图像设置为固定大小。

var canvas = new fabric.Canvas('canvas');
document.getElementById('file').addEventListener("change", function (e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = function (f) {
var data = f.target.result;
fabric.Image.fromURL(data, function (img) {
var oImg = img.set({left: 50, top: 100, angle: 00}).scale(0.9);
canvas.add(oImg).renderAll();
var a = canvas.setActiveObject(oImg);
var dataURL = canvas.toDataURL({format: 'png', quality: 0.8});
console.log("aaaaaaaaaaa" + dataURL);

// console.log("Canvas Image " + dataURL);
// document.getElementById('txt').href = dataURL;

});
};
reader.readAsDataURL(file);
});
document.querySelector('#txt').onclick = function (e) {
e.preventDefault();
canvas.deactivateAll().renderAll();
document.querySelector('#preview').src = canvas.toDataURL();
}
canvas{
border: 1px solid black;
}
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.min.js"></script>
<input type="file" id="file">
<canvas id="canvas" width="750" height="550"></canvas>
<a href='' id='txt' target="_blank">Click Me!!</a>
<br />
<img id="preview" />

上传前:

enter image description here

上传后:

enter image description here

我希望每个图像都固定大小。上传图片后,用户可以更改大小、 Angular 和其他属性。

最佳答案

在您的代码中添加特定尺寸的高度和宽度,如下所示。

var oImg = img.set({width: 150, height: 150, left: 50, top: 100, angle: 00}).scale(0.9);

关于javascript - 自动调整 Canvas 中的图像,如果图像分辨率大于 Html5 中的 Canvas 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34737288/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com