如何检查 uiimage 是否为空? (空、透明)
检查 UIImage
是否为空的最佳方法是什么?
我有一个返回 UIImage
的绘画编辑器;如果这张图片上没有任何内容,我不想保存它。
which is the best way to check whether a UIImage
is blank?
I have this painting editor which returns a UIImage
; I don't want to save this image if there's nothing on it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
尝试以下代码:
和 checkIfImage 方法:
您必须添加 OpenGLES 框架并将其导入到 .m 文件中:
Try this code:
And checkIfImage method:
You will have to add OpenGLES framework and import this in the .m file:
一种想法是调用 UIImagePNGRepresentation 获取
NSData
对象,然后将其与预定义的“空”版本进行比较 - 即:调用:测试?
没有在大数据上尝试过这个;如果您的图像数据很大,您可能想要检查性能,否则如果它很小,可能就像在 C 中调用
memcmp()
一样。One idea would be to call UIImagePNGRepresentation to get an
NSData
object then compare it with a pre-defined 'empty' version - ie: call:to test?
Not tried this on large data; might want to check performance, if your image data is quite large, otherwise if it's small it is probably just like calling
memcmp()
in C.沿着这些思路:
CGContext
其他人也许可以为此答案添加更多详细信息。
Something along these lines:
CGContext
Others may be able to add more details to this answer.
这是一个 Swift 解决方案,不需要任何额外的框架。
感谢此处相关问题的回答:
从坐标获取 ImageView 的像素数据xcode 上的触摸屏?
Here's a solution in Swift that does not require any additional frameworks.
Thanks to answers in a related question here:
Get Pixel Data of ImageView from coordinates of touch screen on xcode?
我不在我的 Mac 上,所以我无法测试这个(并且可能存在编译错误)。但一种方法可能是:
I'm not at my Mac, so I can't test this (and there are probably compile errors). But one method might be: