使用 JavaScript 绘制到 HTML5 画布时调整.png图像的大小
Resizing a .png image when drawing to HTML5 canvas using JavaScript
我正在尝试使用JavaScript将一些.png图像绘制到HTML5画布上。我目前有一个将图像绘制到画布的功能,但是图像对于画布来说太大了,所以只显示其中的一部分。
我目前拥有的功能是:
function drawImage(x, y){
var numberImage = new Image();
numberImage.src = imageSource;
context.drawImage(numberImage, x, y);
}
我使用以下方法调用该函数:
var image1 = new Image();
image1.onLoad = function(){
context.drawImage(image1, 50, 50);
};
image1.src="1.png";
我只是想知道是否有人知道在绘制到画布上时调整图像大小的方法,以便我可以只使用缩略图大小的图像?
提前感谢!
我尝试在 drawImage 函数中添加参数以调整图像大小,但这似乎没有任何区别......
var image1 = new Image();
image1.onLoad = function(){
context.drawImage(image1, 50, 50, 10, 10);
};
image1.src="1.png";
您是否使用 CSS 来设置画布的大小?您需要在元素上设置高度和宽度,否则画布中的所有内容都将"意外"缩放。这可能是你的问题。
请参阅奇怪的 HTML5 画布绘制图像行为
我很难在你的代码中找到问题......但我找到了!
你会讨厌这个:你写了image.onload而不是image.onload...是的,JavaScript 区分大小写。:-)
正确的代码是:
var image1 = new Image();
image1.onload = function(){
context.drawImage(image1, 50, 50, 10, 10);
};
image1.src="1.png";
drawImage() 需要额外的宽度和高度参数:
context.drawImage(image, x, y, width, heighT)
https://duckduckgo.com/?q=!mdn+drawimage
相关文章:
- 如何在Edge中下载图像/png数据URI
- 将SVG下载为PNG图像
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- ng文件上传获胜't将jpg图像转换为png
- 将画布下载为PNG图像
- 在 JavaScript 中将一个.PNG图像拖放到另一个图像上
- 将普通的 PNG 图像转换为 JSON 数据,然后存储到对象
- 将图像的来源与 png 文件进行比较
- 浏览器抛出错误:解析文件时出现意外字符 ' ' (1:0):图像.png
- 使用AJAX从PHP获取PNG图像
- 如何通过js将二进制代码的验证图像从api转换为png
- 如何使用javascript将数据:image/png:base64.解码为真实图像
- 下载画布图像 png Chrome/Safari
- 可以在链接重定向后加载图像/png数据
- 保存透明图像(PNG)作为背景图像
- 最好的方式来对齐图像png文件左下角
- 我如何绘制图像(.png)的画布在科尔多瓦
- 希望我的Java rest服务返回一个图像(PNG)在页面上使用jquery呈现
- “canvas.toDataURL(“图像/ png")“;在firefox中无法正常工作
- 我如何使用$.Ajax设置图像SRC为动态图像/png数据