1

私のアプリケーションでは、2つUIImageViewsが重なり合っています。つまり、)UIImageView-2はに配置されUIImageView-1ます。の画像UIImageView-2は透明なので、別の画像の上に画像があります。次に、これら2つを1つの画像として保存する必要があります。iOSで可能ですか?ご意見をお聞かせください..

サンプルビューは次のとおりです。赤いマークは、テニスボールの画像ビューの上の画像です。

ここに画像の説明を入力してください

4

3 に答える 3

4

次の方法が役立つことを願っています。

-(CGImageRef )mergedImageFromImageOne:(UIImage *)imageOne andImageTwo:(UIImage *)imageTwo
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    CGSize imageSize = imageOne.size;

    UIGraphicsBeginImageContext(sizeVideo);

    [imageOne drawInRect:CGRectMake(0,0,imageSize.width,imageSize.height)];

    [imageTwo drawInRect:CGRectMake(0,0,imageSize.width,imageSize.height) alpha:1];

    CGImageRef imageRefNew =  CGImageCreateWithImageInRect(UIGraphicsGetImageFromCurrentImageContext().CGImage, CGRectMake(0,0,imageOne.width,imageOne.height));

    UIGraphicsEndImageContext();

    [pool release];

    return imageRefNew;
}
于 2013-03-20T07:38:56.377 に答える
3

メイン画像にアプリケーション参照として設定されているロゴ画像を1つ撮りました。

だからあなたはこれを参照することができます、あなたの画像で試してみてください。

画像に合わせて幅(w)と高さ(h)を設定します。

これを試して ::

UIImage *img_Logo = [UIImage imageNamed:@"Img_Logo.png"];

CGSize newSize = CGSizeMake(w, h);
UIGraphicsBeginImageContext(newSize);

// Use existing opacity as is
[main_image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

// Apply supplied opacity
[img_Logo drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:0.8];

main_image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

imgView.image = main_image;

うまくいけば、これはあなたを助けるでしょう。

ありがとう。

于 2013-03-20T07:19:15.853 に答える
0

その部分だけのスクリーンショットを撮っていないのはなぜですか?

于 2013-03-20T09:27:10.330 に答える