0
从调整大小的UIimage获取值时遇到问题。 初始图像大小为500x500。只有当图像被调整大小(甚至到相同大小)objective-c从调整大小的图像中获取像素值
我使用ImageContext和drawInRect来创建新的调整后的图像 我使用的方法将失败。
我在另一种方法中使用CFDataRef和CFDataGetBytePtr来获取x,y处的像素值。
对于所有默认图像,CFDataRef返回@ 1000000。一旦图像被调整大小,该值将更改为@ 90240000。调整图像大小后,CFDataGetBytePtr为空。
现在我怀疑它与调整图像实际上是一个新图像的事实有关,但我不能确定,所以我非常感谢任何解释或建议,我如何解决这个问题。
谢谢您花时间查看我的问题。
你可以发布代码调整图像的大小吗?它可能会给我们一些提示 –
当然:)这是: //调整图像 +(UIImage的*)imageWithImage:(*的UIImage)图像scaledToSize:(CGSize)新尺寸{// UIGraphicsBeginImageContext(新尺寸); UIGraphicsBeginImageContextWithOptions(newSize,NO,0.0); [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } – msavic
你可以尝试这个类别,看看它是否改善了一些东西http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/。来源:http://stackoverflow.com/questions/2658738/the-simplest-way-to-resize-an-uiimage。另外,你是否在主线程上执行此操作? –