1

エッジを超えると切り取られる画像を表示するキャンバスを作成しました。正方形のフレームでこれをうまく行うことができますが、使用したいフレームは下のフレームです。画像の周りに透明でない正方形の境界線を追加せずに、つまり、既に描いた黒い線を使用するだけで、フレーム内の画像をクリップできる方法はありますか? (iPad)

ここに画像の説明を入力

4

1 に答える 1

2

この種のクリッピング/グラフィックス操作を処理するには、CoreGraphicsとQuartzを使用する必要があります。 http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/Introduction/Introduction.html#//apple_ref/doc/uid/TP30001066

UIBezierPathを使用している場合は、次のプロセス http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_paths/dq_pathsを使用した後にクリッピングを実行できる場合があります。 html#// apple_ref / doc / uid / TP30001066-CH211-TPXREF101

  1. UIBezierPathをCGPathに変換します
  2. 画像をCGContextに入れます
  3. CGContextAddPathを介してCGPathをコンテキストに追加します
  4. CGContextClipを使用してコンテキストをクリップします

または、パスをいじりたくない場合(この手法が状況に適しているかどうかによっては、問題の説明がわかりにくい場合もあります)、画像マスキングを使用して効果を得る価値があるかもしれません。後です。最初のリンクを参照して、「ビットマップ画像と画像マスク」を確認してください。

于 2012-05-13T03:17:58.630 に答える