2012-04-03 10 views
-1

私はUIImageを作成してフォトギャラリーに保存しようとしていますが、画像は作成されますが、これはまったく色がない平面の白です。何か案は?UIImageで描く

UIGraphicsBeginImageContext(CGSizeMake(320,420)); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 

UIImage *image = [[UIImage alloc] init]; 

[image drawInRect:CGRectMake(0, 0, 100, 100)]; 

UIImage *newImage;  
newImage = UIGraphicsGetImageFromCurrentImageContext(); 

UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:ctx:), nil); 

また、上記に追加してください。私は、この行を追加:

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 

そして今、私はグレー画像、まだ四角形を取得しますが、それは違う何かがそう、それは

+0

3〜5行目は何もしません。あなたは空の道を満たしています。 –

+0

これは私のデバッグの一部でした - 私は何かを表示しようとしていましたが、それ以来削除されています。なぜそれが機能していないのか? – wonza

答えて

0

何UIImageあなたはこのコードが唯一の初期化?表示するようにしようとしているに役立つかもしれないと思いましたメモリのスペースですが、何も埋め込まれていません。[UIImage imageNamed:@ "..."];ここで、文字列はプロジェクトのリソースです。コンテキストを開いて描画したら、文字列などを描画することができます。

また、イメージを取得したらコンテキストを閉じるようにしてください。

+0

新しいイメージを作成して描画しようとしていますが、既存のイメージを塗りつぶすつもりはありません。私は思った[画像drawInRect:CGRectMake(0、0、100、100)]; は指定された座標に矩形を描画しますか? – wonza

+0

UIImageを作成していますが、それには何もありません。 CGRectMakeを使用して矩形を作成して色付けするなどの場合は、次のコードを使用できます。CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetLineWidth(context、15.0); CGContextSetStrokeColorWithColor(コンテキスト、 [UIColor blueColor] .CGColor); CGRect rectangle = CGRectMake(60,300,650,400); CGContextAddRect(context、rectangle); CGContextStrokePath(コンテキスト); – tams

+0

ありがとう、私は明らかにこの仕組みが誤解されていました。 – wonza