私は自分のiPhoneアプリでUIBezierPathのような近いパスを使って画像をトリミングしたいと思っています。私はそれが可能な長方形を使用して知っているが、私はさまざまな形の作物をしたい。私はタッチを使って1つの図形を作ってそのイメージを切り抜きたいと思うようにします。 提案やヘルプ。 ありがとうございます。UIBezierPathのようなクローズパスを使って画像をトリミングしたい。それはiPhoneアプリケーションで可能ですか?
5
A
答えて
2
シェイプレイヤーで画像をトリミングすることができます。これを行うには、新しいイメージの境界線として使用されるパスを作成する必要があります。このquestionをご覧ください。
CALayer* contentLayer = [CALayer layer];
[contentLayer setFrame:CGRectMake(0, 0, 80, 80)];
CAShapeLayer* mask = [CAShapeLayer layer];
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 10, 10);
CGPathAddLineToPoint(path, NULL, 10, 80);
CGPathAddLineToPoint(path, NULL, 80, 80);
CGPathAddLineToPoint(path, NULL, 80, 10);
mask.path = path;
[contentLayer setContents:(id)[[UIImage imageNamed:@"image.png"] CGImage]];
[contentLayer setMask:mask];
[[self layer]addSublayer:contentLayer];
このようなものです。
+0
Vitaliy1は、ここにコードを貼り付けて、シェイプレイヤーで画像を切り取る方法を教えてください..... –
1
これはマスクを使用して行うことができます。 CGImageMaskCreate
を使用してマスクを作成できます。
あなたは例が必要な場合:コードを使用するには
Any idea why this image masking code does not work?
http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html
0
//:
-(UIImage *)croppedImage
{
UIImage *myImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self.bezierPath closePath];
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.0, 0.0, 0.0);
_b_image = self.bg_imageview.image;
CGSize imageSize = _b_image.size;
CGRect imageRect = CGRectMake(0, 0, imageSize.width, imageSize.height);
UIGraphicsBeginImageContextWithOptions(imageSize, NO, [[UIScreen mainScreen] scale]);
[self.bezierPath addClip];
[_b_image drawInRect:imageRect];
UIImage *croppedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return croppedImage;}
関連する問題
- 1. NSDictionaryのUIBezierPath - それは可能ですか?
- 2. 「実画像」を使用してクリック可能なボタンを作るにはどうすればいいですか
- 3. UIBezierPathを使用してイメージをトリミングする方法は?
- 4. iphone SDKのカスタマイズ可能な画像
- 5. 画像は、それをライトボックスが機能するようになりましたようでハイテクのxml
- 6. JavaScriptを使って画像URLで画像サイズを取得することは可能ですか?
- 7. iPhone Webアプリケーション:Window.locationが機能していないようです。
- 8. ネイティブ機能を使用していないときにPhoneGapをトリミングすることは可能ですか?
- 9. Hibernateで可能ですか?そしてどうやって?
- 10. 画像をトリミングし、スプライトシートから画像をトリミングし、そのが動作していないとのPictureBoxにそれを置くが、しようとしているピクチャボックスに
- 11. iPhoneのALAssetによって返された画像と一致する画像
- 12. アンドロイドのクリック可能な画像ビューをクリックしたときに背景や画像ソースを変更するにはどうすればよいですか?
- 13. カスタムUIBezierPathで画像を切り取る
- 14. cell.imageview.imageでUITableViewsの画像をトリミングするにはどうすればよいですか?
- 15. 私はタッチイベントを使用した画像から色を取得するよう、私は要件を持って、私はそれで一つのアプリケーションをしています をIOSに新しいです画像
- 16. パターンイメージでUIBezierPathを埋め込むことは可能ですか?
- 17. ブラウザは何もしないので、それは可能でしょうか?
- 18. アンドロイドのiphoneのような下部Tabviewは可能ですか?
- 19. iPhoneでドラッグ可能なオブジェクトまたはコントロールを作成するにはどうすればよいですか?
- 20. 配列内のAutoIncrement配列():それは可能ですか?私はそれをしたいと思っ
- 21. サーバー上で画像を自動的にトリミングするにはどうすればよいですか?
- 22. テーブルの浮遊画像右です。可能でしょうか?
- 23. iOS iPhoneでUIViewを複製し、それを2つのUIViewに描画することは可能ですか?
- 24. iPhoneでWebからダウンロードした画像ファイルを検証するにはどうすればよいですか?
- 25. 私はautopostなしでそれをやりたいのですが、私はasp.net画像ボタンを使ってトグルボタンを作成します!私は間違っていないよ場合、私はページを更新せずにそれをやりたい
- 26. アプリケーションを使用してiPhoneで静かな電話をかけることは可能ですか?
- 27. PHPでの一時的な使用のために画像をトリミングする
- 28. PILで画像を自動トリミングする
- 29. iPhoneのマップビューで画像をポリラインとして追加するにはどうすればよいですか?
- 30. Qtでスクロール可能なズーム可能な画像を描画する
私が前にやったことはありませんが、私はあなたが魔法使いのマスクを使用する必要があるとします。このappleの記事を読んでみてください。[Quartz 2D Programming Guide](https://developer.apple.com/library/ios/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_images/dq_images.html#//apple_ref/doc/uid/TP30001066- CH212-CJBDIJEE)。たぶんbezierPathをプログラムまたはユーザーのやりとりによって透明なイメージを作成し、このイメージを元のイメージのマスクとして使用することができます。 – Gabriele
マスキングは得られる方法です。この短い例を見てください。http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html – msg