Tag: 图像缩放

在iPhone sdk中resize后获取图像的大小

我有图像视图,我正在显示从图书馆中select的图像。 要显示我使用以下方法重新缩放图片的高质量图片。 我得到的图像质量是完美的,但我需要根据新创build的图像的大小设置imageView框架。 但是当我使用newImage.size.width它给我的原始图像视图的宽度。 请帮助我根据显示的图像大小设置图像视图框架。 提前致谢 -(UIImage *)scaleImage:(UIImage *)img toRectSize:(CGRect)screenRect { UIGraphicsBeginImageContext(screenRect.size); float hfactor = img.size.width / screenRect.size.width; float vfactor = img.size.height / screenRect.size.height; float factor = MAX(hfactor, vfactor); float newWidth = img.size.width / factor; float newHeight = img.size.height / factor; float leftOffset = (screenRect.size.width – newWidth) / 2; float topOffset = (screenRect.size.height – newHeight) […]

重新调整图像宽度是屏幕大小的一半

我是相当新的迅速,我目前正试图显示在一个自定义的UITableCell多个图像视图。 理想情况下,我希望缩放每个图像的宽度,使其宽度达到屏幕大小的一半(同时保留原始宽高比)。 这个想法是,每个UITableCell将有一个UILabel的3张图片和一些附加信息的拼贴 – 最高的图像将坐在自己的列中,较小的两个堆叠在最高的旁边。 下面是一个截图,以帮助说明我正在努力实现的目标: 但是,我遇到了一些麻烦。 目前,一旦我用Alamofire .GET请求检索了一个图像,我调用了一个函数, let aspectRatio = image.size.width / image.size.height let newHeight = desiredWidth / aspectRatio UIGraphicsBeginImageContext(CGSizeMake(desiredWidth, newHeight)) image.drawInRect(CGRectMake(0, 0, desiredWidth, newHeight)) let scaledImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return scaledImage 一旦图像返回,在将其添加到第一个图像视图之前,我更新图像视图的框架,如下所示: cell.img_1.frame = CGRect(x: 0, y: 0, width: new_image.size.width, height: new_image.size.height) cell.img_1.image = new_image 但是,当我运行代码时,图像的宽度不是屏幕的一半 – 而是它们看上去与将它们放到图像视图中时完全相同(而不是缩放)(将ImageView设置为Aspect Fit Mode )。 当我打印新缩放图像的宽度和高度时,值与我想要的一致。 […]

由于图片太多,应用尺寸太大

我正在创build一个通用应用程序。 对于一个屏幕,我使用此控件在网格中显示6个图像(PNG格式)。 此外,此屏幕支持纵向和横向。 我已经为所有iDevices创build了一组不同分辨率的图像,并使用正确的命名约定来命名它们,如下所示。 名〜iphone.png name@2x~iphone.png 名〜ipad.png name@2x~ipad.png name-568h@2x~iphone.png(iPhone 5) 而且我不得不创build另外一组这样的图像,因为我支持这两个方向,而且我不能使用与上面相同的图像,因为在风景中它会拉伸。 现在我已经接近60个图像,只有一个屏幕,应用程序已经重达〜40MB! 不言而喻这是不可接受的。 我的问题是,是否有必要为所有这些尺寸/设备和方向创build单独的图像? 我不能只为视网膜显示创build一个设置,它会缩小正常显示? 如果这是不可能的,有没有办法缩小图像的大小? 谢谢。