私のアプリケーションでは、2つUIImageViews
が重なり合っています。つまり、)UIImageView-2
はに配置されUIImageView-1
ます。の画像UIImageView-2
は透明なので、別の画像の上に画像があります。次に、これら2つを1つの画像として保存する必要があります。iOSで可能ですか?ご意見をお聞かせください..
サンプルビューは次のとおりです。赤いマークは、テニスボールの画像ビューの上の画像です。
私のアプリケーションでは、2つUIImageViews
が重なり合っています。つまり、)UIImageView-2
はに配置されUIImageView-1
ます。の画像UIImageView-2
は透明なので、別の画像の上に画像があります。次に、これら2つを1つの画像として保存する必要があります。iOSで可能ですか?ご意見をお聞かせください..
サンプルビューは次のとおりです。赤いマークは、テニスボールの画像ビューの上の画像です。
次の方法が役立つことを願っています。
-(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;
}
メイン画像にアプリケーション参照として設定されているロゴ画像を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;
うまくいけば、これはあなたを助けるでしょう。
ありがとう。
その部分だけのスクリーンショットを撮っていないのはなぜですか?