2012-03-15 17 views
0

私のアプリに線を描こうとしています。まず、描画サイズをビューのサイズに設定します。描画が終了したら、UIImageViewのサイズを変更して、図面の周りに空白がないようにします。 UIImageViewのサイズをUILabelのsizeToFitのように自動的に変更するオプションはありますか?描画を完了した後でUIImageViewのサイズを変更する

UIGraphicsBeginImageContext(self.vwDesktop.frame.size); 
    [drawImage.image drawInRect:CGRectMake(0, 0, self.vwDesktop.frame.size.width, self.vwDesktop.frame.size.height)]; 
    CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); 
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 10.0); 
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0); 
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); 
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); 
    CGContextStrokePath(UIGraphicsGetCurrentContext()); 
    CGContextFlush(UIGraphicsGetCurrentContext()); 
    drawImage.image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    drawImage.userInteractionEnabled = YES; 

答えて

0

私が正しくあなたの質問を理解していれば、それはこれはイメージがビューに合うように寸法決めされている方法を決定するのでしょうか?あなたが望むUIView(ひいてはUIImageViewcontentModeプロパティです。

余談として、 。

CGContextRef ctx = UIGraphicsGetCurrentContext(); 

をしてCGContextRefたびにあなたがトンを必要とすることを使用して:あなたはなぜ、ローカル変数にコンテキストを保存していない、あなたのコアグラフィックス機能のそれぞれにUIGraphicsGetCurrentContext()を呼び出す必要はありませんo現在のコンテキストを参照するか?

しかし、それはいくつかの理由のためにあなたが行のUIImageを維持したい場合を除き、画像のコンテキストを作成するに対処することなく、あなただけUIViewdrawRectメソッド内でこのすべてを行うことができますように私には見えることができ描く

+0

ok。コンテキスト変数をローカル変数に保存します。私がやっていることは、ユーザが画面上に何かを描画させ、その後に配列に挿入することができるようにすることです。私の配列は、たくさんの画像(写真、ユーザー描画、スタンプ)で構成されています。だから、現在の図面のUIImageViewは透明な境界線で構成されていますが、編集したいビューの選択には影響しません。 – RockBaby

関連する問題