确定 UIImage 的色彩空间

发布于 2024-10-02 08:20:07 字数 192 浏览 1 评论 0原文

我想知道是否有一种简单的方法来获取图像的色彩空间(即加载到 UIImage 中的图像)?例如,我有一个 TIFF 图像,我希望能够确定它是否使用 RGB 色彩空间。有没有一种简单的方法可以在不操纵像素数据的情况下做到这一点?我知道有一些 CGColorSpace 函数,但它们似乎都没有这样做,只是创建颜色空间并操纵它们(以及更高级的函数)。

提前致谢。

I'm wondering if there's an easy way to get the colorspace of an image (i.e. an image loaded into a UIImage)? For example, I have a TIFF image and I'd like to be able to determine if it uses the RGB colorspace or not. Is there an easy way to do this without manipulating pixel data? I know there's some CGColorSpace functions, but none of them seem to do this, just create colorspaces and manipulate them (and much more advanced functions).

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沧笙踏歌 2024-10-09 08:20:07

你必须通过CGImage获取色彩空间。您可以使用以下函数/属性行来完成此操作:

@property(nonatomic, readonly) CGImageRef CGImage

CGColorSpaceRef CGImageGetColorSpace (
   CGImageRef image
);

因此,要获取图像的色彩空间,您需要这样做:

CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]);

当然,请确保遵循 CG 对象的获取/创建/复制规则。

You have to get the color space through CGImage. You can do it with the following line of functions/properties:

@property(nonatomic, readonly) CGImageRef CGImage

CGColorSpaceRef CGImageGetColorSpace (
   CGImageRef image
);

So to get the color space of an image, you'd do:

CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]);

And of course, make sure to follow the get/create/copy rules for CG objects.

指尖微凉心微凉 2024-10-09 08:20:07

Swift

获取 UIImage 的色彩空间:

let colorSpace = myUIImage.cgImage?.colorSpace

检查色彩空间类型的示例代码:

if colorSpace == CGColorSpace(name: CGColorSpace.sRGB) && colorSpace != nil {
  print("valid sRGB")
}

请参阅 Apple 的 CGColorSpace 文档“访问系统定义的色彩空间” 了解色彩空间类型的完整列表。

Swift

To obtain the color space of a UIImage:

let colorSpace = myUIImage.cgImage?.colorSpace

Example code that checks the color space type:

if colorSpace == CGColorSpace(name: CGColorSpace.sRGB) && colorSpace != nil {
  print("valid sRGB")
}

See Apple's CGColorSpace Documentation "Accessing System-Defined Color Spaces" for the complete list of color space types.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文