数码资讯
画布和图片压缩的示例代码
在写一篇关于画布图像处理的文章之前,今天我们将讨论如何使用画布来压缩图片。 画布图像压缩过程 接下来,我将用具体的例子解释画布图片压缩的具体流程。 1。局部图像输入 1。获取本地文件 无功chooseimg = document.getelementbyid(选择图片); chooseimg.onc
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在写一篇关于画布图像处理的文章之前,今天我们将讨论如何使用画布来压缩图片。
画布图像压缩过程
接下来,我将用具体的例子解释画布图片压缩的具体流程。
1。局部图像输入
1。获取本地文件
无功chooseimg = document.getelementbyid(选择图片);
chooseimg.onchange =功能(e){
var文件=这个文件{ 0 };
/ / (略随后依次显示部分代码,下同)
};
通过类型类型的按钮作为文件获取本地文件是非常简单的。
2。确定获得的本地文件类型
VaR结果= document.getelementbyid(结果); / /显示画面输出,或错误
如果(测试)文件类型是。
hellip / hellip;
}
别的{
result.innerhtml =文件类型是错误的!;
}
三.在Base64格式输出的局部图像
VaR img =新(图像), / /创造的原始图片的位置图片对象
读者= FileReader();
reader.readasdataurl(文件); / / base64格式的读取和存储的对象的属性有结果
reader.onload =函数(){
img.src = this.result; / /图片base64字符串直接给出图像对象SRC
document.body.insertbefore(IMG,chooseimg); / /输出将被插入到文档中的图片按钮之前
img.onload =函数(){
hellip / hellip;
};
};
两。在画布上画画
1。创建画布
VaR的画布document.createelement('canvas);
canvas.width = img.clientwidth;
canvas.height = img.clientheight;
VaR上下文= canvas.getcontext(二维的);
注意:画布的大小与输入图片的宽度相同。
2。画画
context.drawimage(IMG,0,0,canvas.width,帆布,高度);
三。压缩图片和输出
图片压缩比:%
风险率= document.getelementbyid(率)。| |值100; / /输入图像的压缩比,默认是100%
无功imgurl = canvas.todataurl(file.type,率 / 100); / /的第一个参数是输出的图片类型二的压缩比
result.innerhtml = ''; / /:压缩图像的显示结果压缩
img.style.display =没有人'; / /隐藏原始图片
这是画在画布上的油画图片输出又在Base64格式。
四。完整的代码显示
图片压缩比:%
无功chooseimg = document.getelementbyid(选择图片),
结果:document.getelementbyid(结果);
chooseimg.onchange =功能(e){
var文件=这个文件{ 0 };
如果(测试(文件类型)){
VaR img =新的图像(),
读者= FileReader();
reader.readasdataurl(文件);
reader.onload =函数(){
img.src = this.result;
document.body.insertbefore(IMG,chooseimg);
img.onload =函数(){
VaR的画布document.createelement('canvas);
canvas.width = img.clientwidth;
canvas.height = img.clientheight;
VaR上下文= canvas.getcontext(二维的);
context.drawimage(IMG,0,0,canvas.width,帆布,高度);
风险率= document.getelementbyid(率)。| |价值100;
无功imgurl = canvas.todataurl(file.type,率/ 100);
result.innerhtml =压缩后:;
result.style.display =阻止;
img.style.display =不关;
};
};
}
别的{
result.innerhtml =文件类型是错误的!;
}
};
经过测试,发现画布压缩jpeg格式具有最佳的图片效果,PNG压缩效果不明显,但有时会变大。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
画布图像压缩过程
接下来,我将用具体的例子解释画布图片压缩的具体流程。
1。局部图像输入
1。获取本地文件
无功chooseimg = document.getelementbyid(选择图片);
chooseimg.onchange =功能(e){
var文件=这个文件{ 0 };
/ / (略随后依次显示部分代码,下同)
};
通过类型类型的按钮作为文件获取本地文件是非常简单的。
2。确定获得的本地文件类型
VaR结果= document.getelementbyid(结果); / /显示画面输出,或错误
如果(测试)文件类型是。
hellip / hellip;
}
别的{
result.innerhtml =文件类型是错误的!;
}
三.在Base64格式输出的局部图像
VaR img =新(图像), / /创造的原始图片的位置图片对象
读者= FileReader();
reader.readasdataurl(文件); / / base64格式的读取和存储的对象的属性有结果
reader.onload =函数(){
img.src = this.result; / /图片base64字符串直接给出图像对象SRC
document.body.insertbefore(IMG,chooseimg); / /输出将被插入到文档中的图片按钮之前
img.onload =函数(){
hellip / hellip;
};
};
两。在画布上画画
1。创建画布
VaR的画布document.createelement('canvas);
canvas.width = img.clientwidth;
canvas.height = img.clientheight;
VaR上下文= canvas.getcontext(二维的);
注意:画布的大小与输入图片的宽度相同。
2。画画
context.drawimage(IMG,0,0,canvas.width,帆布,高度);
三。压缩图片和输出
图片压缩比:%
风险率= document.getelementbyid(率)。| |值100; / /输入图像的压缩比,默认是100%
无功imgurl = canvas.todataurl(file.type,率 / 100); / /的第一个参数是输出的图片类型二的压缩比
result.innerhtml = ''; / /:压缩图像的显示结果压缩
img.style.display =没有人'; / /隐藏原始图片
这是画在画布上的油画图片输出又在Base64格式。
四。完整的代码显示
图片压缩比:%
无功chooseimg = document.getelementbyid(选择图片),
结果:document.getelementbyid(结果);
chooseimg.onchange =功能(e){
var文件=这个文件{ 0 };
如果(测试(文件类型)){
VaR img =新的图像(),
读者= FileReader();
reader.readasdataurl(文件);
reader.onload =函数(){
img.src = this.result;
document.body.insertbefore(IMG,chooseimg);
img.onload =函数(){
VaR的画布document.createelement('canvas);
canvas.width = img.clientwidth;
canvas.height = img.clientheight;
VaR上下文= canvas.getcontext(二维的);
context.drawimage(IMG,0,0,canvas.width,帆布,高度);
风险率= document.getelementbyid(率)。| |价值100;
无功imgurl = canvas.todataurl(file.type,率/ 100);
result.innerhtml =压缩后:;
result.style.display =阻止;
img.style.display =不关;
};
};
}
别的{
result.innerhtml =文件类型是错误的!;
}
};
经过测试,发现画布压缩jpeg格式具有最佳的图片效果,PNG压缩效果不明显,但有时会变大。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。