0

助けてください。

次のことについて、誰もうまく機能する答えを持っていないようです。

UIImagePickerController を使用して iPhone カメラから画像を取得します。画像を取得すると、オーバーレイが存在します。オーバーレイは、さまざまなジェスチャが添付された単なるサブクラス化された UIImageView です。

画像を取得するときに、デバイス画面上の正確な場所に画像にオーバーレイを追加するにはどうすればよいですか?

どんな助けでも大歓迎です、

ポンド

4

1 に答える 1

3

これはxcodeから離れて書いているので、微調整が必​​要かもしれません...

UIImage プロパティ、画像、オーバーレイを使用して UIView クラスを作成し、compositorView のように呼び出します。UIImagePickerController デリゲートの didFinishPickingMediaWithInfo: メソッドから、compositorView の画像プロパティを撮影したばかりの写真に設定し、オーバーレイ プロパティを使用している画像に設定します。次に、そのcompositorViewにcompositorViewを依頼してください。それはそれであるはずです...

(QuartzCore フレームワークが必要です)

@synthesize picture = _picture;
@synthesize overlay = _overlay;


-(void)drawRect:(CGRect)rect
{

    CGFloat width = self.frame.size.width;
    CGFloat height = self.frame.size.height;
    CGRect frame = CGRectMake(0, 0, width, height);

    [_picture drawInRect:frame];
    [_overlay drawInRect:frame];

}


-(UIImage *)composedImage
{
    CGSize pageSize = self.frame.size;

    UIGraphicsBeginImageContextWithOptions(pageSize, NO, 2.0);

    CGContextRef context = UIGraphicsGetCurrentContext();


    [self.layer renderInContext:context];

    UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();


    UIGraphicsEndImageContext();


    return theImage;

}
于 2012-11-12T16:10:43.673 に答える