簡體   English   中英

如何在屏蔽后刪除UIImageView的透明區域?

[英]How to remove the transparent area of an UIImageView after masking?

在我的一個iOS應用程序中,我試圖使用CGImageMask剪切圖像的CGImageMask 我已成功使用以下代碼屏蔽圖像:

- (UIImage *)maskImage:(UIImage *)referenceImage withMask:(UIImage *)maskImage {

    CGImageRef maskRef = maskImage.CGImage;

    CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
                                        CGImageGetHeight(maskRef),
                                        CGImageGetBitsPerComponent(maskRef),
                                        CGImageGetBitsPerPixel(maskRef),
                                        CGImageGetBytesPerRow(maskRef),
                                        CGImageGetDataProvider(maskRef), NULL, false);

    CGImageRef masked = CGImageCreateWithMask([referenceImage CGImage], mask);
    return [UIImage imageWithCGImage:masked];
}

所以,我的形象將是:

myImageView.image = [self maskImage:[UIImage imageNamed:@"image.png"] 
                           withMask:[UIImage imageNamed:@"mask.png"]];

問題:輸出圖像與參考圖像('image.png')的大小相同,周圍有透明區域。 但我想避開那些透明區域,並裁剪結果圖像。 我怎樣才能做到這一點? 有幾個掩模,並且掩模框架與所有掩模框架不相似。 我在這里附上問題概述的參考圖像。 請幫幫我的朋友。 提前致謝。

在此輸入圖像描述

查找自動裁剪UIImage。 這應該是透明的。

如何自動切換UIImage?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM