使用 Pillow 将 png 转换为 jpeg

2023-12-15

我正在尝试使用枕头将 png 转换为 jpeg。我已经尝试了几篇文章但没有成功。这两个似乎适用于像这样的小 png 图像。

enter image description here

第一个代码:

from PIL import Image
import os, sys

im = Image.open("Ba_b_do8mag_c6_big.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im,im)
bg.save("colors.jpg")

第二个代码:

image = Image.open('Ba_b_do8mag_c6_big.png')
bg = Image.new('RGBA',image.size,(255,255,255))
bg.paste(image,(0,0),image)
bg.save("test.jpg", quality=95)

但如果我尝试转换像这样的更大图像

我越来越

Traceback (most recent call last):
  File "png_converter.py", line 14, in <module>
    bg.paste(image,(0,0),image)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1328, in paste
    self.im.paste(im, box, mask.im) ValueError: bad transparency mask

我究竟做错了什么?


你应该使用convert() method:

from PIL import Image

im = Image.open("Ba_b_do8mag_c6_big.png")
rgb_im = im.convert('RGB')
rgb_im.save('colors.jpg')

更多信息:http://pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.Image.convert

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Pillow 将 png 转换为 jpeg 的相关文章

随机推荐

  • 如何在 .Rmd 文件中添加要发布的功能或缩略图

    我目前正在尝试使用 blogdown 设置一个 Hugo 博客 但找不到从内部向帖子添加功能或缩略图的方法 Rmd文件 这会喜欢这样宁静峰主题 据我了解 只需添加一些如下语法即可在 md 文件中轻松完成 featuredImage img
  • Python Pyrebase 配置

    当我尝试运行我的代码时 import pyrebase firebaseConfig apiKey xxxxxx authDomain xxxxxx projectId xxxxxx storageBucket xxxxxxx servic
  • PREG_MATCH 检查所有单词和条件

    我编写了一个正则表达式 它在 OR 条件下搜索搜索词 这样就提供了字符串中的三个单词 无论它们的顺序如何 现在我只想放置一个 AND 条件 因为我想同时以不同的顺序在字符串中获取所有三个单词 这是我的preg match 正则表达式 myP
  • bash eval 未检测到 System.exit 返回代码

    挣扎了一个小时 java代码 ULogger info throwing out 666 System exit 666 bash 包装器 eval COMMAND TO RUN ret code printf error code d r
  • Python:无头模式支持旧版本的 Chrome

    我正在尝试使用 python 和 selenium 自动发送短信https voice google com about 当我运行下面的代码时 它会获取最新版本 谷歌浏览器实例并且工作正常 但是 当我以无头模式运行它时 它使用旧版本的谷歌浏
  • 使用python排序词频计数

    我必须使用 python 计算文本中的词频 我想到将单词保存在字典中并计算每个单词的数量 现在 如果我必须根据出现次数对单词进行排序 我可以使用相同的字典来完成此操作 而不是使用以键作为计数 以单词数组作为值的新字典吗 WARNING 此示
  • 在哪里可以更改“电子邮件已被占用”错误消息?

    我需要自定义消息错误 Email has already been taken对于电子邮件 我正在使用 Ruby 1 9 2 Rails 3 1 3 Devise 1 5 3 我尝试更改以下消息 config locales devise
  • 使用 NSDictionary 对象写入 plist 文件

    抱歉 我看到了类似的问题 但他们似乎没有给我一些完整的答案 我试着把它整理好 这样人们就不会讨厌我或我糟糕的英语 我正在使用带有故事板和 ARC 的 Xcode 4 2我可以从我的 plist 文件中读取 我的任务只是将更新后的值写回我的
  • Mathematica 输出格式

    Mathematica 如何决定何时对输出中的数字进行舍入 例如 给出输入 250000 5 给出输出 2500001 While 25000 5 确实打印为 25000 5 N 在这里也没有帮助 我需要使用 NumberForm 让它实际
  • 连接到 Oracle 中的拆分字符串列

    我的数据库中有一个列 其中包含 4 个字段作为 分隔字符串 我已经拆分了这些字段 因为我在报告中需要单独使用它们 我还需要单独使用这些字段作为针对另一个表的条件 我尝试过的事情 临时表 CREATE GLOBAL TEMPORARY TAB
  • 如何从 cordova-sqlite 同步获取数据?

    是否可以从cordova sqlite同步获取数据 我有一张桌子caseTable包含字段 ID 案例名称 日期 该表中的每一行对应于另一个以 caseName 字段命名的表 我需要循环遍历caseTable表并获取所引用表中的行数 fun
  • PHP 将“”添加到任何 xml 输出

    不确定发生了什么 但这是我的代码 template
  • Raycaster 中的高效地板/天花板渲染

    我在 Raycaster 引擎上工作了一段时间 我在较慢的机器上运行 我遇到的最具挑战性的问题是高效的地板和天花板铸造 我的问题是 我还可以使用什么其他更快的方法 我不确定末日地板和天花板是如何渲染的 到目前为止我尝试了两种典型的解决方案
  • 通过 JDBC 使用 Google Apps 脚本连接到 MSSQL Server 时出错

    我正在尝试使用 Google Apps 脚本连接到 Microsoft SQL Server 我正在使用 SQL Server 2008 R2 并且正在使用建议的脚本之一 该脚本应该读取数据并将其放入电子表格中 https develope
  • 在shell脚本中解析wmic的输出

    我正在尝试解析 WMIC 的输出 然后获取 PID 我的脚本如下 echo off setLocal enableExtensions enableDelayedExpansion FOR F tokens 1 delims A IN wm
  • 在 XAMPP for Windows 上从 CPAN 安装 perl 模块

    我对 Perl 很生疏 我认为在 Windows 中运行它没有帮助 我想安装this模块 我尝试了说明here安装 CPAN 模块 但尝试安装 App cpanminus 失败 第一步 我尝试运行cpan Config Simple它也不起
  • 链接共享dll库cmake clion项目

    我目前在 Clion 上有两个使用 cmake 的 C 项目 其中一个项目名为 sharedLibsDemo 我试图在该项目中创建一个共享库 在另一个项目中 我想使用由 共享 项目创建的库 目前 在 sharedLibsDemo 项目中 我
  • 获取其他语言的 TYPO3 Extbase Repository 项目

    如何从 extbase 存储库中获取不同语言的项目 我测试了什么 findByUid childUid query gt getQuerySettings gt setRespectSysLanguage FALSE query gt ge
  • 从 Python IDLE 控制 Paraview GUI

    我正在尝试使用 IDLE 以交互方式控制 Paraview 这将涉及从 IDLE 发送命令并查看 Paraview 中发生的更改 我宁愿不使用 Paraview python shell 到目前为止 我已经成功从 IDLE 导入 Parav
  • 使用 Pillow 将 png 转换为 jpeg

    我正在尝试使用枕头将 png 转换为 jpeg 我已经尝试了几篇文章但没有成功 这两个似乎适用于像这样的小 png 图像 第一个代码 from PIL import Image import os sys im Image open Ba