如何使用JavaScript将图像从PNG转换为JPEG?

前端之家收集整理的这篇文章主要介绍了如何使用JavaScript将图像从PNG转换为JPEG?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从画布中获取图像. PNG图像正确到位,但JPEG正在产生问题.我附上图片在这里.第一张图片是我的画布.随着PNG然后JPEG.So我想要我的JPEG图像与白色背景或我需要一个解决方案PNG到JPEG转换在JS
canvas =  $('.jSignature')[0];

            imgData = canvas.toDataURL();
            imgDatajpeg = canvas.toDataURL("image/jpeg");                   

            $(".sigCapHolder").append('<img src='+imgData+' /> ')
            $(".sigCapHolder").append('<img src='+imgDatajpeg+' /> ')

解决方法

原因

这样做的原因是画布是透明的.然而,透明度为黑色的透明Alpha通道,因此它不会显示在屏幕上.

另一边的JPEG不支持Alpha通道,因此默认的黑色将被剥去其alpha通道留下黑色背景.

你PNG支持alpha通道,因此它与canvas的工作方式兼容.

为了解决这个问题,您必须在绘制图像之前在画布上手动绘制白色背景:

var canvas =  $('.jSignature')[0];
var ctx = canvas.getContext('2d');

ctx.fillStyle = '#fff';  /// set white fill style
ctx.fillRect(0,canvas.width,canvas.height);

/// draw image and then use toDataURL() here

猜你在找的JavaScript相关文章