阅读(3453) (0)

Pillow ImageCms.applyTransform

2021-07-13 15:13:38 更新
PIL.ImageCms.applyTransform(imtransforminPlace=False)

(Pycms)对给定图像应用转换。

如果 im.mode != transform.inMode ,会引发一个 PyCMSError 。

如果 inPlace 是 True 而且transform.inMode != transform.outMode ,会引发一个PyCMSError 。

如果pyCMSdll或用于转换的配置文件不支持​im.mode​、​transform.inMode​或​transform.outMode​,则会引发​PyCMSError​。

如果在应用转换时发生错误,则会引发一个 PyCMSError 。

此函数将预先计算的变换(来自 ImageCms.buildTransform() 或 ImageCms.buildTransformFromOpenProfiles())应用于图像。变换可用于多幅图像,如果多次进行相同的变换,可节省大量计算时间。

如果您想就地修改 ​im​而不是接收新图像作为返回值,请设置​inPlace​为​True​. 这只能在​transform.inMode​和​transform.outMode​相同时才能完成 ,因为我们无法就地更改模式(某些模式的缓冲区大小不同)。默认行为是​Image ​在 mode ​transform.outMode​中返回相同维度的新对象。

参数
  • im -- 一个 Image 对象,以及即时通讯模式必须与 inMode 由转换支持。

  • transform -- 有效的​CmsTransform​类对象

  • inPlace -- 布尔值。如果值为True,im就地修改并返回None,如果值为FalseImage则返回应用了变换的新对象(并且 im不会更改)。默认值为 False.

返回

要么返回 None 要么返回一个新的 Image 对象,取决于 inPlace 的值. 配置文件将返回到图像的 info['icc_profile'] 。

引发

PyCMSError