46

デバイスのカメラで撮影したa をトリミングして、 aを表すUIImage別の 内に収まるようにする必要があります (丸い境界線など)。以下の画像を確認してください。UIImageframe

ここに画像の説明を入力 アスペクト フィルの使用

ここに画像の説明を入力 アスペクト フィットの使用

だから、私が必要とするのは、フレームの境界外にある余分な画像を削除することです。UIBezierPath、およびGoogleで検索した他の方法を使用CGImageRefしてみましたが、これに対する解決策が見つかりません。

4

4 に答える 4

128

Interface Builder では、次の構成を使用します。

ここに画像の説明を入力

2 つの重要な設定があります。

  1. Mode: Aspect Fill

  2. Clip Subviews

プログラムで行うこともできます。

[imageView setContentMode:UIViewContentModeScaleAspectFill];
[imageView setClipsToBounds:YES];

これにより、ビューが画像で正しく埋められ、縦横比が維持され、収まらない部分が非表示になります。

于 2013-08-17T05:34:23.317 に答える
1

インターフェイス ビルダーで、詳細ペイン内のモードメニュー (4 つ目) にアクセスし、適切なものを選択しますUIImageView(「中心」または「アスペクト フィット」だと思います)。

ここに画像の説明を入力

古い答え:

contentGravityCALayerのプロパティを使用して動作させることができます

レイヤーのコンテンツがその境界内でどのように配置またはスケーリングされるかを指定する定数。

       @property(copy) NSString *contentsGravity
于 2013-01-30T16:45:36.230 に答える
-1

を使用しUIImageViewて行う

imageView.contentMode = UIViewContentModeScaleAspectFit;
于 2013-01-30T16:46:37.210 に答える