iPhone-如何获取uiimage的高度和宽度


Answers:


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

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

3
点。乘以scale属性即可获得像素。
rmooney16年

真奇怪 我用相机拍摄了一张照片,并假设它的高度>宽度。但是宽度的点是1280,高度是720。它们有什么问题?
亨利

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可能已更改为反映实际像素值。
奥斯汀·怀特劳

35

使用sizeUIImage实例上的属性。有关更多详细信息,请参见文档


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使用它比使用其他框架更简单。
萨蒂扬

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.