zoukankan      html  css  js  c++  java
  • python PIL 库处理文件

    通过PIL库提供的API接口可以很方便的处理图像,功能十分强大;

    最近有一个替换png背景色的需求,替换背景色的同时又不能够覆盖原来的文字,之前利用perl 的CD 模块一直没能够正确处理,最终用PIL 成功的解决了问题

    思路就是读取一个文件中的像素点,把背景色对应的像素点全部替换成新的颜色就可以了

    代码如下:

    from PIL import Image
    
    im = Image.open('hsa00250.png')
    
    box = (653,784,699,801)
    img = im.crop(box)
    x,y = img.size
    
    img   = img.convert("RGBA")
    datas = img.getdata()
    
    newData = []
    for item in datas:
        if item[0] == 191 and item[1] == 255 and item[2] == 191:
            newData.append((255, 0, 0, 255))
        else:
            newData.append(item)
    
    img.putdata(newData)
    im.paste(img, box)
    im.save('hsa00250.new.png')

    原来的图是这个样子的

    将特定的点替换之后就变成了下面这样

    通过PIL库,直接从像素层面操作文件,很强大!

    后续还可以做一个本地版的脚本,对KEGG的图片进行颜色标记,这样就不需要每次都用KEGG网站的API 了。

  • 相关阅读:
    500. 键盘行
    657. 判断路线成圈
    771. 宝石与石头
    461. 汉明距离
    Java 基本数据类型
    Windows下的DOM操作
    jQuery学习笔记
    Java(16-19)
    Java(1-15)
    总结
  • 原文地址:https://www.cnblogs.com/xudongliang/p/6589935.html
Copyright © 2011-2022 走看看