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。另外,你是否在主線程上執行此操作? –