2012-09-27 42 views
1

我想以編程方式更改沒有背景的PNG圖像的對比度,或者我必須說透明背景。下圖顯示了這個例子。 enter image description here如何以編程方式更改iPhone objective-c中無背景的PNG圖像的對比度?

我能夠改變的背景圖像的對比度。但無法在沒有背景的情況下進行更改。我已經嘗試過thisthis但是兩者都可以在背景圖片中使用。請幫助我實現這一目標,或者向我推薦任何解決方案或教程鏈接。

在此先感謝

+0

爲什麼不ü剛剛晉級的圖像,直到那個特定的大小,以便有沒有背景留給改變? – IronManGill

+0

我從Web服務中獲取此圖像。 –

回答

1
CGImageRef inImage = self.CGImage; 
CFDataRef m_DataRef = CGDataProviderCopyData(CGImageGetDataProvider(inImage)); 
UInt8 * m_PixelBuf = (UInt8 *) CFDataGetBytePtr(m_DataRef); 

int length = CFDataGetLength(m_DataRef); 

for (int i=0; i<length; i+=4) 
{ 
    filter(m_PixelBuf,i,context); 
} 
CGContextRef ctx = CGBitmapContextCreate(m_PixelBuf, 
             CGImageGetWidth(inImage), 
             CGImageGetHeight(inImage), 
             CGImageGetBitsPerComponent(inImage), 
             CGImageGetBytesPerRow(inImage), 
             CGImageGetColorSpace(inImage), 
             CGImageGetBitmapInfo(inImage));  

CGImageRef imageRef = CGBitmapContextCreateImage(ctx); 
CGContextRelease(ctx); 
UIImage *finalImage = [UIImage imageWithCGImage:imageRef]; 
CGImageRelease(imageRef); 
CFRelease(m_DataRef); 
return finalImage; 
相關問題