Pillow ImageCms.applyTransform
PIL.ImageCms.applyTransform(im, transform, inPlace=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,如果值为False,则返回应用了变换的新对象(并且Imageim不会更改)。默认值为False.
- 返回
要么返回
None要么返回一个新的Image对象,取决于inPlace的值. 配置文件将返回到图像的info['icc_profile']。- 引发
PyCMSError