iphone-uiimageの高さと幅を取得する方法


回答:


424
let heightInPoints = image.size.height
let heightInPixels = heightInPoints * image.scale

let widthInPoints = image.size.width
let widthInPixels = widthInPoints * image.scale

3
ポイント。ピクセルを取得するには、scaleプロパティを掛けます。
rmooney 2016年

奇妙だった。カメラで写真を撮り、その高さ>幅を想定しました。しかし、幅のポイントは1280、高さは720でした。それらの何が問題になっていますか?
Henry

1
(UIImagePickerControllerを介して)カメラロールから画像を読み込むとき、スケールは常に1.0のように見えますが、image.sizeはありません。image.sizeはピクセル単位で指定されていません。(実際にはピクセルサイズの半分です)。->適切なピクセルサイズを取得する方法-UIScreen.main.scaleを使用できないため、iPhone 6/7 Plusでは3ですが、image.sizeは同じです
benrudhart

以前のコメントで述べたように、image.scaleはデフォルトでちょうど1.0のようです。そうは言っても、デフォルトのシミュレーターイメージの(3000、2002)のような値を取得しているので、ポイント値ではなく実際のピクセルでなければなりません。この投稿は数年前のものなので、実際のピクセル値を反映するためにimage.sizeが変更された可能性があります。
オースティンホワイトロー


11
UIImage *img = [UIImage imageNamed:@"logo.png"];

CGFloat width = img.size.width;
CGFloat height = img.size.height;

6

上記のいくつかのアンサーは、デバイスを回転させるとうまく機能しません。

試してください:

CGRect imageContent = self.myUIImage.bounds;
CGFloat imageWidth = imageContent.size.width;
CGFloat imageHeight = imageContent.size.height;

2
UIImageView *imageView = [[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"MyImage.png"]]autorelease];

NSLog(@"Size of my Image => %f, %f ", [[imageView image] size].width, [[imageView image] size].height) ;

0
    import func AVFoundation.AVMakeRect

    let imageRect = AVMakeRect(aspectRatio: self.image!.size, insideRect: self.bounds)

    x = imageRect.minX

    y = imageRect.minY

別のフレームワークを使用するよりも、UIImageから簡単に使用できます。
Satyam、

0

役に立つ解決策はたくさんありますが、拡張機能を使用した簡単な方法はありません。拡張機能で問題を解決するためのコードは次のとおりです。

extension UIImage {

    var getWidth: CGFloat {
        get {
            let width = self.size.width
            return width
        }
    }

    var getHeight: CGFloat {
        get {
            let height = self.size.height
            return height
        }
    }
}

-2
let imageView: UIImageView = //this is your existing imageView

let imageViewHeight: CGFloat = imageView.frame.height

let imageViewWidth: CGFloat = imageView.frame.width

あなたはimageViewのサイズを取得する方法を示します、それは画像のサイズと同じではありません
ramzesenok
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.