デバイスのカメラで撮影したa をトリミングして、 aを表すUIImage
別の 内に収まるようにする必要があります (丸い境界線など)。以下の画像を確認してください。UIImage
frame
アスペクト フィルの使用
アスペクト フィットの使用
だから、私が必要とするのは、フレームの境界外にある余分な画像を削除することです。UIBezierPath
、およびGoogleで検索した他の方法を使用CGImageRef
してみましたが、これに対する解決策が見つかりません。
デバイスのカメラで撮影したa をトリミングして、 aを表すUIImage
別の 内に収まるようにする必要があります (丸い境界線など)。以下の画像を確認してください。UIImage
frame
アスペクト フィルの使用
アスペクト フィットの使用
だから、私が必要とするのは、フレームの境界外にある余分な画像を削除することです。UIBezierPath
、およびGoogleで検索した他の方法を使用CGImageRef
してみましたが、これに対する解決策が見つかりません。
Interface Builder では、次の構成を使用します。
2 つの重要な設定があります。
Mode: Aspect Fill
Clip Subviews
プログラムで行うこともできます。
[imageView setContentMode:UIViewContentModeScaleAspectFill];
[imageView setClipsToBounds:YES];
これにより、ビューが画像で正しく埋められ、縦横比が維持され、収まらない部分が非表示になります。
インターフェイス ビルダーで、詳細ペイン内のモードメニュー (4 つ目) にアクセスし、適切なものを選択しますUIImageView
(「中心」または「アスペクト フィット」だと思います)。
古い答え:
contentGravity
CALayerのプロパティを使用して動作させることができます
レイヤーのコンテンツがその境界内でどのように配置またはスケーリングされるかを指定する定数。
@property(copy) NSString *contentsGravity
を使用しUIImageView
て行う
imageView.contentMode = UIViewContentModeScaleAspectFit;