Ari*_*.R. 13 iphone uiimage cgimage nsdata
我正在使用以下代码来裁剪并创建一个更大的UIImage.我已经将问题与CGImageCreateWithImageInRect()函数隔离开来,它似乎没有按照我想要的方式设置一些CGImage属性.:-)问题是调用函数UIImagePNGRepresentation()失败返回nil.
CGImageRef origRef = [stillView.image CGImage];
CGImageRef cgCrop = CGImageCreateWithImageInRect( origRef, theRect);
UIImage *imgCrop = [UIImage imageWithCGImage:cgCrop];
Run Code Online (Sandbox Code Playgroud)
...
NSData *data = UIImagePNGRepresentation ( imgCrop);
Run Code Online (Sandbox Code Playgroud)
- libpng错误:没有IDAT写入文件
知道UIImage中裁剪矩形可能有什么不妥或替代吗?非常感谢!
在 PNG 中存在各种块,一些包含调色板信息,一些实际图像数据和一些其他信息,这是一个非常有趣的标准。IDAT块是实际包含图像数据的位。如果没有“IDAT 写入文件”,则 libpng 从输入数据创建 PNG 时遇到一些问题。
我不知道你的 stillView.image 到底是什么,但是当你向你的代码传递一个肯定有效的 CGImageRef 时会发生什么?theRect 中的实际值是多少?如果你的 theRect 超出了图像的边界,那么你试图用来制作 UIImage 的 cgCrop 很容易为零 - 或不为零,但不包含图像或宽度和高度为 0 的图像,使 libpng 无法工作和。
| 归档时间: |
|
| 查看次数: |
9095 次 |
| 最近记录: |