パスを使用してUIImageを抽出するにはどうすればよいですか?
パス内のコンテンツを新しいUIImageに取り込む必要があります。必要なのは、回転した長方形の内容です。これは、長方形の角を取得するために使用するコードです。(x、y =画像の中心。画像の幅、高さ)。
UIBezierPath* aPath = [UIBezierPath bezierPath];
//1
[aPath moveToPoint:CGPointMake(
x+(width/2)*cosf(A)-(height/2)*sinf(A),
y+(height/2)*cosf(A)+(width/2)*sinf(A))];
NSLog(@"%f, %f", x+(width/2)*cosf(A)-(height/2)*sinf(A),
y+(height/2)*cosf(A)+(width/2)*sinf(A));
//2
[aPath moveToPoint:CGPointMake(
x-(width/2)*cosf(A)-(height/2)*sinf(A),
y+(height/2)*cosf(A)-(width/2)*sinf(A))];
NSLog(@"%f, %f", x-(width/2)*cosf(A)-(height/2)*sinf(A),
y+(height/2)*cosf(A)-(width/2)*sinf(A));
//3
[aPath moveToPoint:CGPointMake(
x-(width/2)*cosf(A)+(height/2)*sinf(A),
y-(height/2)*cosf(A)-(width/2)*sinf(A))];
NSLog(@"%f, %f", x-(width/2)*cosf(A)+(height/2)*sinf(A),
y-(height/2)*cosf(A)-(width/2)*sinf(A));
//4
[aPath moveToPoint:CGPointMake(
x+(width/2)*cosf(A)+(height/2)*sinf(A),
y-(height/2)*cosf(A)+(width/2)*sinf(A))];
NSLog(@"%f, %f", x+(width/2)*cosf(A)+(height/2)*sinf(A),
y-(height/2)*cosf(A)+(width/2)*sinf(A));
//5
[aPath moveToPoint:CGPointMake(
x+(width/2)*cosf(A)-(height/2)*sinf(A),
y+(height/2)*cosf(A)+(width/2)*sinf(A))];
NSLog(@"%f, %f", x+(width/2)*cosf(A)-(height/2)*sinf(A),
y+(height/2)*cosf(A)+(width/2)*sinf(A));
[aPath closePath];
私はこのようなことを考えていました:問題の写真。 (ここでは形が違います。)その黄色い部分を新しいUIImageにしたいです。