美文网首页
PIL学习笔记(二)

PIL学习笔记(二)

作者: oceanLong | 来源:发表于2017-11-26 15:00 被阅读49次

PIL

接下来尝试,用PIL处理更微观的操作。直接处理像素点。

场景

举个例子,如果我想判断一个png图片,它是否存在alpha通道,且alpha通道的值是否全为255。因为这样的png图片整张图片不存在任何透明度,但却有Alpha通道,占用了不必要的空间,在移动端的开发中,可以进行一些压缩处理。

code

# pil pixel operation

from PIL import Image

def is_png_no_transparent(path):
    # Open file
    im = Image.open(path)
    # get image scale
    width, height = im.size
    print('Original image size: %sx%s' % (width, height))
    # for
    for w in range(0, width):
        for h in range(0, height):
            pixel = im.getpixel((w, h))
            if (isinstance(pixel ,int )):
                print "It's PNG8"
                return False
            if (len(pixel) > 3):
                if (pixel[3] != 255):
                   print "Has transparent"
                   return False
            else:
                print "It's not png "
                return False

    print "No transparent "
    return True

is_png_no_transparent("tt.png")

Tips

在PS软件中,对于png格式的处理是比较玄学的。

  1. 如果一个新的设计,图片中没有任何透明元素,当保存为png时,文件会保留着透明通道。
  2. 如果一个jpg格式的图片,被转为png,由ps保存,即使勾选保留透明通道,ps也不会为其生成透明通道。

相关文章

  • PIL学习笔记(二)

    PIL 接下来尝试,用PIL处理更微观的操作。直接处理像素点。 场景 举个例子,如果我想判断一个png图片,它是否...

  • python图像处理:PIL与Pillow区别

    在学习python图像处理时,傻傻的分不清PIL和Pillow,于是简单整理一下二者区别。 一、PIL PIL全称...

  • PIL学习笔记(一)

    PIL 在图像处理方面,python有一个公认的图片处理库——PIL。 API参考地址 安装 sudo pip i...

  • python 常用内建模块之Pillow

    python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 Pillow PIL:Python Imagin...

  • PIL笔记

    读取json文件 json_path = r'C:\Users\Administrator\Desktop\pyt...

  • Python-PIL-拼接图片

    最近学习了PIL,主要学习的是如何把当前目录下的图片拼接在一起,以下仅仅是拼接图片的学习笔记: 一、学习的网址: ...

  • Python 学习笔记之—— PIL 库

    PIL,全称 Python Imaging Library,是 Python 平台一个功能非常强大而且简单易用的图...

  • PIL库学习

    其实主要是对Image库的操作,毕竟我们是做图像的,Image库也是核心用的比较多 这个简单的打开文件操作,以只读...

  • Opencv 和 PIL

    opencv > pil pil > opencv

  • 使用PIL生成文字图片

    安装PIL 使用PIL

网友评论

      本文标题:PIL学习笔记(二)

      本文链接:https://www.haomeiwen.com/subject/gysqbxtx.html