javascript - 在 Canvas 上绘制时图像尺寸放大

标签 javascript css html canvas

我有一个 46*46 的 png 图片。当我使用以下代码在 Canvas 上绘制它时,图像变大了。

window.onload = function() 
{
    drawEx1();
}

var image1 = null;

function drawEx1() 
{
    image1 = new Image();
    image1.src =
    "unnamed.png";
    image1.addEventListener('load', drawImage1);
}

function drawImage1() 
{
    if (image1.height > 46) 
    {
        image1.height = 46;
    }
    context.drawImage(image1, 10, 10,image1.height,image1.height);
}

我使用 CSSCANVAS 设置了样式,使其显示在浏览器的中央。 我在这里做错了什么。请帮忙。谢谢。

最佳答案

不要使用 CSS 来调整 Canvas 的大小,因为它会扭曲 Canvas 内容——拉伸(stretch)它。

改为调整 Canvas 元素本身的大小:

<canvas width=100 height=100> or 

document.getElementById('mycanvas').width=100;

祝你的元素好运!

关于javascript - 在 Canvas 上绘制时图像尺寸放大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27611111/

相关文章:

javascript - .on ('click' ) 不能很好地处理动态内容?

iphone - Iphone 上的自定义字体问题

html - IE7 中恼人的 css 问题

c# - 我如何点击网站按钮?

html - 同时在 App Store 网页和 iTunes 应用程序中打开 iOS 应用程序的 URL

javascript - $.ajaxSetup 不工作

javascript - 使用 href 显示/隐藏 div 并使用 jquery 滚动到显示的 div

javascript - 使用 navigator.getUserMedia (Javascript) 访问移动麦克风

javascript - 如何在手触摸事件上启动动画?

javascript - 换行符在 window.open().document 中不起作用