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