1. 安装Pillow, 只用这个应该也可以,

2. 安装 cImage

下载后解压,拷贝image.py到你python安装目录的 Lib\site-packages 中。

from PIL import Image

import os

import image

def get_imlist(path):

"""返回目录中所有gif图像的文件名列表图像的文件名列表"""

return [os.path.join(path,f) for f in os.listdir(path) if f.endswith(".gif")]

path = "E:\sucai\change_git_to_png\last-guardian-sprites"

listdir = get_imlist(path)

print (listdir)

def iter_frames(im):

try:

i= 0

while 1:

im.seek(i)

imframe = im.copy()

if i == 0:

palette = imframe.getpalette()

else:

imframe.putpalette(palette)

yield imframe

i += 1

except EOFError:

pass

"""for i, frame in enumerate(iter_frames(im)):"""

"""    frame.save('bmg4_rt2.png',**frame.info)"""

for dir in listdir:

print(dir)

im = Image.open(dir)

for i, frame in enumerate(iter_frames(im)):

png_file_name = (str(dir)[:-3]+'png')

frame.save(png_file_name,**frame.info)

png_im = Image.open(png_file_name)

png_im = png_im.convert('RGBA')

width = png_im.size[0]

height = png_im.size[1]

color_0 = png_im.getpixel((0,0))

newImage = []

for png_i in range(0, width):

for png_j in range(0, height):

png_data = png_im.getpixel((png_i, png_j))

if (png_data == color_0):

png_data = png_data[:-1] + (0,)

png_im.putpixel((png_i, png_j),png_data)

png_im.save(png_file_name)

说明:

1. Image.open(png_file_name)  打开png,默认只有 RGB 三通道

2. 转成 RGBA 四通道,最后那个A表示透明度,取值范围是0到255, 值越大表示越不透明,

所以我们的目标就是要把透明度设置为0。

png_data[:-1] 就是取 RGB 三个值,  +  (0,) 就是 把A设置成0.

然后改变 点(i,j)的像素。

3. 别忘记再次 保存为png 图片格式。

效果

我使用的是GIMP打开的。

参考资料,感谢:

原文链接:https://blog.csdn.net/Tui_GuiGe/article/details/105007643

python gif 透明_python3 + Pillow 批量处理简单gif 转成 png 并透明化 去掉背景色相关推荐

  1. python gif 透明,Python3+试点批量处理简单的GIF到PNG并透明地去除背景色,python3Pillow,gif,转成,png,透明化,去掉...

    1. 安装Pillow, 只用这个应该也可以, 2. 安装 cImage 下载后解压,拷贝image.py到你python安装目录的 Lib\site-packages 中. from PIL imp ...

  2. pillow python 划线_Python用Pillow(PIL)进行简单的图像操作

    Python用Pillow(PIL)进行简单的图像操作 颜色与RGBA值 计算机通常将图像表示为RGB值,或者再加上alpha值(通透度,透明度),称为RGBA值.在Pillow中,RGBA的值表示为 ...

  3. python实现画板_Python3使用PyQt5制作简单的画板/手写板

    0.目录 1.前言 在定点和移动中的鼠标所在处画一条线 在定点和移动中的鼠标所在处画一条线 并将画过的线都保留在窗体上 将按住鼠标后移动的轨迹保留在窗体上 将按住鼠标后移动的轨迹保留在窗体上 并解决二 ...

  4. python svg转png_Python实现批量把SVG格式转成png、pdf格式的代码分

    必须提早安裝cairosvg控制模块,下载链接 Code:#! encoding:UTF-8import cairosvgimport osloop = Truewhile loop:svgDir = ...

  5. python脚本编程——将批量的长方形图片切割成多个正方形图片

    简介 在处理.mat文件得到图片(bmp)时,转成的图片尺寸大小与.mat文件有关.两个特征的.mat文件分别是1294*86和1294*128大小.这也是两个文件中的图片大小,由于模型输入需要的是批 ...

  6. 使用python写一段代码,能够实现图片转成素描风格

    可以使用 Python 的图像处理库 Pillow 来实现将图片转换成素描风格的功能. 下面是一个示例代码: from PILimport Image, ImageFilter# 打开图片 im = ...

  7. python读取word文档并做简单的批量文档筛选

    python读取word文档并做简单的批量文档筛选 最近参与了一项解析大量的word文档(试验报告形式)的工作,因为其中包含着一些对项目无意义的报告,所以要进行初步地筛选,通过查阅资料发现了pytho ...

  8. Python Pillow批量转换tif格式到jpg

    Python Pillow批量转换tif格式到jpg 也可以自定义多种格式转化 清晰度依旧哦 最近有个任务就是将tif转成jpg的,但是呢,一张一张去photoshop里面转太慢了,所以就想着用pyt ...

  9. python表格单元格批注批量插图xlwings\os\pillow教程,手把手代码讲解

    1.常规操作import python设置--项目--python解释器--增加软件包Pillow\xlwings from PIL import Image import os import xlw ...

最新文章

  1. NHibernate从入门到精通系列(7)——多对一关联映射
  2. 从音乐分享平台到泛音乐视频社交平台,菠萝 BOLO完成过亿元 B 轮融资
  3. Golang init函数执行顺序
  4. [MATLAB调试笔记]Update magnetic field in one step
  5. stm32单片机屏幕一直闪_STM32使用HAL库函数点亮OLED
  6. 收集整理的非常有用的PHP函数
  7. c/c++教程 - 总集1. c基础语法
  8. 切换计算机用户指,切换用户提示计算机锁定
  9. Hibernate中的3中状态
  10. jvm初体验:堆溢出处理
  11. 关于VS编译的程序内存分配只能用1.5~2G上限的优化方案
  12. linux shell执行perl脚本,无法在Shell脚本中运行Perl脚本
  13. ffmpeg合并mkv视频文件和ass字幕文件
  14. SQL Server 2008 R2每天自动备份数据库
  15. 计算机复制功能快捷键,电脑复制快捷键是什么(全部复制粘贴的快捷键是什么)...
  16. Kindle4rss中文rss资源推荐~
  17. macpro如何清理磁盘空间_Mac怎么清理磁盘空间, 如何清理Mac内存?
  18. vue基础:ElementUI的表单
  19. Python双均线策略回测(2021-10-12)
  20. Corn fields(玉米田)状压dp入门第一题 洛谷P1879 poj3254

热门文章

  1. html正方形裁剪成圆形,HTML5 Canvas 被圆形裁剪的马赛克
  2. 【淘宝开店经验分享】产品标题优化技巧
  3. 雷泰Endurance高温红外测温仪
  4. 压力管道级别如何划分
  5. python 3 or 5的值_python表达式3or5的值为_表达式 3 or 5 的值为
  6. 第一场数据挖掘比赛的一些经验心得
  7. QT 区分编译器类型
  8. IDEA运行tomcat时,控制台红色中文乱码的解决办法
  9. php源码哪些文件是主程序,ThinkPHP源码分析之核心类文件的加载
  10. Haptic feedback