2009-07-09 3 views
1

私はiPhone用の簡単なペイントアプリを作っています。私は描画されたイメージを透明なPNGに変換しようとしています(私は白い背景を望まない)。また、UIImageViewで使用するUIImage表現を取得したいと思います。CGLayerをCoreGraphicsの* transparent * UIImageとPNGファイルに変換するiphone

現在のところ、タッチイベントに応答し、CGLayerにパスを描画してから、ビューのコンテキストに描画します。 CGLayerとビュー自体の両方にアクセスできます。現在、I出力画像への私の見解は、使用して:

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

をこれが唯一のUIImageを作成するためのビューを使用しています。

ビューは白い背景を持っているため、作成するUIImageに埋め込まれています。私はこの白い背景を持たないUIImageを取得したいので、PNGファイルに表示して書き込むことができます。

私は直接CGLayerを使うべきだと思っていますが、アクセスするにはCGLayerRefのタイプから取得する方法がわかりません。

アイデアをいただければ幸いです。

  • Aleem

答えて

5

私はちょうどこれに対処。 CGLayerの背景を描画し、その後にUIViewの背景を設定しないでください:

それを行う必要がありますし、あなたのPNGは透明な背景を持つことになります
self.backgroundColor = [UIColor clearColor]; 

+0

完璧に感謝しました! – aloo

+0

私はこの時点で立ち往生しています。あなたの答えをより詳しく説明してください。サンプルソースコードを提供してください。 –

+0

私はあなたに必要な情報が不明です。どこに問題があるのか​​をさらに説明できますか? – adamkrell

関連する問題