压缩图片,透明背景色变黑问题

L_chxu L_chxu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
用BufferedImage、JPEGImageEncoder压缩图片,背景为透明的图片压缩后背景变成黑色,其他图片压缩却正常,这是怎么回事,有什么解决的方法吗?图片需要与原图片尺寸一直,不能缩小图片长宽。
原图:

压缩后:


BufferedImage tag = new BufferedImage((int) newWidth,(int) newHeight,
BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight,
Image.SCALE_SMOOTH), 0, 0, null);
FileOutputStream out = new FileOutputStream(outputFile);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(tag);
out.close();
...全文

相关推荐

Android png透明图片转jpg时背景变黑的解决方法

在做view保存图片后,压缩格式转为jpg的时候出现了黑色背景,其根本原因在于透明背景时背景的情况下,转换为jpg的时候会变成黑色背景,原因是PNG支持透明图而 JPG格式不支持透明背景。 我们的解决方案如下: /** * 把bitmap,png格式的图片 转换成jpg图片 * 因jpg不支持透明,如png透明图片,则转成白底! * @param bitmap 源图 * @param newFilepath 新图片的路径 */ public static void convertBitmap2Jpg(Bitmap bitmap, String newImgpath) { //复

weixin_38669793

php缩放gif和png图透明背景变成黑色的解决方法

需要缩放一些gif图然后在去Imagecopymerge,后发现背景图不对,透明的背景图变成了黑色,下面是修改之后的代码

weixin_38607088

解决canvas转base64/jpeg时透明区域变成黑色背景的方法

在用canvas将png图片转jpeg时,发现透明区域被填充成黑色。 代码如下: XML/HTML Code复制内容到剪贴板 <p>Canvas:</p>   <canvas u00a0id=canvas style></canvas>   <br>   <p>Base64转码后的图片:</p>   <div u00a0id=base64Img></div>      [removed]       var base64Img = document

weixin_38724349

C# WinForm透明窗体实现:Opacity、TransparencyKey到UpdateLayeredWindow全解析

透明窗体在桌面应用开发中常被用于悬浮面板、加载遮罩、异形控件等场景,其核心在于控制窗口的像素透明度与鼠标交互逻辑。WinForm本身并未提供直接拖拽的透明属性,开发者需要理解三种技术路线的原理差异:Opacity适合整体淡入淡出,TransparencyKey通过颜色键挖洞实现不规则形状,而UpdateLayeredWindow借助分层窗口接口达到真正的32位逐像素Alpha半透明效果。不同方案对应不同性能与视觉平衡,例如鼠标穿透需求往往需要结合WS_EX_TRANSPARENT与WM_NCHITTEST消

投研帮

机械三维3D设计图-等离子清洗机.zip

机械三维3D设计图-等离子清洗机.zip

ZL4120505
评论 5
收藏 已收藏
分享
返回顶部
L_chxu
Java EE 67,535 成员 225,843 内容