• PIL 学习笔记(1)


    使用 Python Image Library (PIL), 需要先导入相关模块:

    import Image

    如何加载图片
    im = Image.open(r"D:/www/icon_1.jpg")

    如果加载发生错误,会引发 IOError.

    打印出图片的格式、大小、模式
    print im.format, im.size, im.mode

    图片的显示,用 show() 方法
    im.show()

    show() 需要调用 xv 程序,适合调试和测试。在 Windows 上通常是调用相关的关联程序来打开(我的是 AcdSee)。注意这个方法在显示前会自动创建临时文件。


    图片的保存
    im.save(r"d:/www/icon_1.gif")

    默认会自动根据目标文件扩展名判断保存的格式,但可以给 save 方法提供第二个参数指定格式。

    创建缩略图
    im.thumbnail((128128))
    im.save(r
    "d:/www/icon_1.thumbnail""JPEG")


    图片的区域裁剪

    用 crop 方法可以裁剪图片中的一个矩形区域
    box = (100100400400# (left, upper, right, lower)
    region = im.crop(box)


    图片的粘贴

    处理上面的区域,然后粘贴回来:
    region = region.transpose(Image.ROTATE_180)
    im.paste(region, box)

    需要注意粘贴的时候目标区域大小要和被粘贴的图片一样大。

    高级技巧:paste 方法可以指定可选参数,设定透明度(0~255).

    PIL 还可以处理 multi-band 图片的每个独立的 band. 比如 RGB. 然后用 merge 函数重新合并:
    r, g, b = im.split()
    im 
    = Image.merge("RGB", (b, g, r))
  • 相关阅读:
    Netty入门——客户端与服务端通信
    使用配置文件自定义Ribbon配置
    使用Java代码自定义Ribbon配置
    Spring Cloud Ribbon入门
    负载均衡简介
    常见的几种负载均衡算法
    Eureka编程
    Eureka多机高可用
    Maven项目打包成可执行Jar文件
    Eureka单机高可用伪集群配置
  • 原文地址:https://www.cnblogs.com/RChen/p/pil_1.html
Copyright © 2020-2023  润新知