1
マスクに関して多くの質問がありますが、それらの回答が私を(ちょっとだけ)助けなかったことを知っています。マスクイメージを丸めるために
私は自分のイメージラウンドを行う必要があります。私はmask.pngを作成し、コード内でそれを使用する:
- (UIImage*) maskImage:(UIImage *)image 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([image CGImage], mask);
UIImage* maskedImage = [UIImage imageWithCGImage:masked];
CGImageRelease(masked);
CGImageRelease(mask);
return maskedImage;
}
すべてが素晴らしかったと誰もが幸せでした。しかし、私がデバイス上でこのメソッドをテストし始めると、私はそれがマスクではないことがわかりました。どのように私はイメージをマスクすることができますか?
P.S.一時的に私はマスクでview.layes.maskをレイヤーとして設定しました。そして、この変形はデバイスで動作しています。このレイヤーからラウンドを保存する方法はありますか?
'CALayer.cornerRadius'を調べましたか? – zneak
イメージをラウンドとして保存したいだけでなく、そのまま表示します。 – OdNairy