gpt4 book ai didi

iphone - 如何从 iPhone 上的 UIImage 获取 UIColor

转载 作者:行者123 更新时间:2023-12-03 19:43:25 24 4
gpt4 key购买 nike

我想逐点处理我的图像,但我不知道如何从图像中获取点的颜色。以及如何逐点移动指针?

最佳答案

您无法直接从 UIImage 执行此操作,但您可以使用您提供的内存缓冲区将图像渲染到位图上下文中,然后直接测试内存。这听起来比实际情况更复杂,但可能仍然比您想听到的更复杂。

如果您有 Erica Sadun 的 iPhone Developer's Cookbook,第 54 页对其进行了很好的介绍。总的来说,我会推荐这本书,所以如果您没有的话,值得一读。

我独立地得到了几乎完全相同的代码,但遇到了一个看起来可能也存在于 Sadun 代码中的错误。在 pointInside 方法中,点和大小值是 float ,并在转换为 int 之前作为 float 相乘。如果您的坐标是离散值,这很好,但在我的情况下,我提供了子像素值,因此公式失败了。当然,一旦你发现了问题,修复就很容易了 - 只需在相乘之前将每个坐标转换为 int - 所以,在 Sadun 的情况下,它会是:


long startByte = ((int)point.y * (int)size.width) + (int)point.x) * 4;

此外,Sadun 的代码以及我自己的代码只对 alpha 值感兴趣,因此我们使用仅采用 alpha 值的 8 位像素。更改 CGBitMapContextCreate 调用应该允许您获取实际颜色值(显然,如果每个像素超过 8 位,您也必须将其乘以 pointInside 公式)。

[编辑]这促使我输入 code up on my blog (当我研究如何语法突出显示它时,有一个侧轨):

关于iphone - 如何从 iPhone 上的 UIImage 获取 UIColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/556205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com