2009-07-09 87 views
1

我一直在爲iPhone製作一個簡單的繪畫應用程序。我試圖將繪製的圖像轉換爲透明的PNG(我不想要白色背景)。我也想得到一個UIImage表示在UIImageView中使用。在CoreGraphics中將CGLayer轉換爲* transparent * UIImage和PNG文件iphone

目前,我對觸摸事件作出響應並繪製到CGLayer的路徑,然後將其繪製到我的視圖上下文中。我可以訪問CGLayer以及視圖本身。目前,我輸出我的看法使用一個圖像:

UIGraphicsBeginImageContext(drawingView.bounds.size); 
[drawingView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

這隻使用視圖來創建一個UIImage。

由於視圖有白色背景,因此它包含在我創建的UIImage中。我想得到一個沒有這個白色背景的UIImage,所以我可以顯示和寫入一個PNG文件。

我想我應該直接使用CGLayer,但我不確定如何從CGLayerRef類型中獲取該值。

任何想法將不勝感激。

  • 阿利姆

回答

5

我剛剛處理了這一點。不要畫在CGLayer背景,然後設置UIView到的背景:

self.backgroundColor = [UIColor clearColor]; 

應該這樣做,你的PNG將有一個透明背景。

+0

非常感謝! – aloo 2009-08-12 05:34:02