私はここで見つけた少なくとも5つの方法を試しましたが、何も機能していません。すべて最低でも少なくとも1〜2歳は最低です。それ以来、Appleは何かルールを変更しましたか?四角形のUIImageを丸い矩形に入れます
私は、正方形にそれをトリミングし、スクリーンショットを取り、その後、私は15
の半径にその角をトリミングしようとしています多分、OpenGLのでこれを行うために、より深刻かつ確実な方法はありますか?現在、このソリューションをしようとしたが、コーナーはまだトリミングすることを拒否
:
-(UIImage*) cropImage:(UIImage*)image withPath:(UIBezierPath*)path { // where the UIBezierPath is defined in the UIKit coordinate system (0,0) is top left
CGRect r = CGPathGetBoundingBox(path.CGPath); // the rect to draw our image in (minimum rect that the path occupies).
UIGraphicsBeginImageContextWithOptions(r.size, NO, 0.0); // begin image context, with transparency & the scale of the image.
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(ctx, -r.origin.x, -r.origin.y); // translate context so that when we add the path, it starts at (0,0).
CGContextAddPath(ctx, path.CGPath); // add path.
CGContextClip(ctx); // clip any future drawing to the path region.
[image drawInRect:(CGRect){CGPointZero, image.size}]; // draw image
UIImage* i = UIGraphicsGetImageFromCurrentImageContext(); // get image from context
UIGraphicsEndImageContext(); // clean up and finish context
return i; // return image
}
だけ明確にするために、私は実際に私が
をトリミングする画素を削除しようとしていると私はに渡しています。 ..
[self cropImage:myImage withPath:[UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, screenImage.size.width, screenImage.size.height) cornerRadius:15.0]]
コーナーの半径を大きくしても、何も起こりません。
ポストを。 – Code
@codeただ投稿しました – Gukki5