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

이상했다. 카메라로 사진을 찍고 높이> 너비로 가정했습니다. 그러나 너비는 1280, 높이는 720입니다. 문제는 무엇입니까?
Henry

1
UIImagePickerController를 통해 카메라 롤에서 이미지를로드 할 때 배율은 항상 1.0 인 것처럼 보이지만 image.size는 image.size가 아닙니다. 크기는 픽셀 단위로 제공되지 않습니다. (실제로는 픽셀 크기의 절반입니다). -> 적절한 픽셀 크기를 얻는 방법-iPhone 6/7 Plus에서 3 인 UIScreen.main.scale 원인을 사용할 수 없지만 image.size는 동일합니다.
benrudhart

이전 주석에서 언급했듯이 image.scale은 기본적으로 1.0입니다. 즉, 기본 시뮬레이터 이미지에 대해 (3000, 2002)와 같은 값을 얻으므로 포인트 값이 아닌 실제 픽셀이어야합니다. 이 게시물은 몇 년 전이므로 image.size가 실제 픽셀 값을 반영하도록 변경되었을 수 있습니다.
Austin Whitelaw


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.