如何在base64转换之前调整图像大小

时间:2013-10-08 11:56:51

标签: javascript extjs sencha-touch-2

在我的基于sencha的应用程序中,我想将图像转换为base64,之前我想调整原始的一个。这是我用来转换base64的代码

function getBase64FromImageUrl(URL)
{
var img = new Image();
img.style.width = '5%',
img.style.height = '5%',
img.src = URL;
img.onload = function ()
{
    var canvas = document.createElement("canvas");
    canvas.width =this.width;
    canvas.height =this.height;
    var ctx = canvas.getContext("2d");
    ctx.drawImage(this, 10, 10);
    var dataURL = canvas.toDataURL("image/jpg");
    if(App.gvars.userpic=='1')
    {
    cdd=dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
    }
    if(App.gvars.userpic=='2')
    {
    c=dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
    }
   }
}

如何在转换前调整图像大小或重新设置图像?我尝试过更改img.style.width和hieght,但根本没有变化。请帮助我

1 个答案:

答案 0 :(得分:0)

根据devnull69的建议,只需使用drawImage()在将图像添加到画布时调整图像大小。

请参阅W3SchoolsMSDN上的API。

您甚至可以在Html5CanvasTutorials

的实时编码示例中使用这些值