`
re_reference
  • 浏览: 236733 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UIImage等比缩放图像,按最大尺寸缩放,这才叫真正的缩放

阅读更多
+ (UIImage*)scaleImage:(UIImage*)img toSize:(CGSize)size{
    int h = img.size.height;
    int w = img.size.width;
    
    if(h <= size.height && w <= size.width) {
        return img;
    } else {
        float destWith = 0.0f;
        float destHeight = 0.0f;
        
        float suoFang = (float)w/h;
        float suo = (float)h/w;
        if (w>h) {
            destWith = (float)size.width;
            destHeight = size.width * suo;
        }else {
            destHeight = (float)size.height;
            destWith = size.height * suoFang;
        }
        
        CGSize itemSize = CGSizeMake(destWith, destHeight);
        UIGraphicsBeginImageContext(itemSize);
        CGRect imageRect = CGRectMake(0, 0, destWith, destHeight);
        [img drawInRect:imageRect];
        UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        return newImg;
    }
}
分享到:
评论

相关推荐

    UIScrollerView的照片缩放

    通常,最大值可能是3.0,最小值为1.0(表示无缩放)。初始时,将`zoomScale`设为1.0。 3. **实现代理方法**:实现UIScrollViewDelegate的`viewForZooming(in:)`方法,返回可缩放的imageView。 4. **响应缩放事件**...

    UIImage 图片处理:截图,缩放,设定大小,存储_蓝科教育

    UI 图片处理是 iOS 开发中一个非常重要的topic,UIImage 是 iOS 中表示图像的类,它提供了多种方法来处理图像,在这里我们将介绍 UIImage 图片处理的四种方法:截图、缩放、设定大小和存储。 截图 截图是将 UIView...

    ios 图片缩放

    - `UIGraphicsGetImageFromCurrentImageContext`用于从当前的图形上下文中获取最终的图像,这是缩放过程结束时得到新图像的方式。 总结起来,实现iOS中的图片等比例缩放,可以通过计算合适的缩放比例,结合图形上...

    iOS应用开发中对UIImage进行截取和缩放的方法详解

    等比缩放时,我们需要计算出新的尺寸,确保长宽比例与原始图片相同: ```objc - (UIImage *)imageScaledToFitSize:(CGSize)size { CGFloat scaleWidth = size.width / self.size.width; CGFloat scaleHeight = ...

    iOS 图片裁剪 自定义大小 图片可缩放

    本文将深入探讨如何实现自定义尺寸的图片裁剪功能,并且支持图片的手动缩放,适用于iOS 6.0及以上版本。我们将主要关注以下几个关键知识点: 1. **UIImage**:UIImage是苹果iOS SDK中用于处理图像的核心类。它负责...

    UIImage-PDF.zip

    在iOS开发中,`UIImage`类是用于处理和显示图像的核心类,但默认情况下它并不支持PDF文档的显示。为了扩展`UIImage`的功能,开发者通常会创建分类(Category)来添加新的方法。`UIImage-PDF`就是这样一个Objective-C...

    手机端图片放大缩小功能实现

    插值是一种估算新像素值的方法,它可以创建出原始图像分辨率之外的新图像尺寸。常见的插值算法有最近邻插值、双线性插值和三次卷积插值等,其中双线性插值在移动设备上通常更为适用,因为它在质量和性能之间找到了一...

    ios-图片切换,点击缩放.zip

    例如,对于大图,可以使用UIImage的`initWithData:scale:`方法加载适当大小的图像,或者利用UIEdgeInsets来裁剪图片,只加载视图内需要的部分。同时,利用缓存策略可以减少重复加载,提高响应速度。 总结来说,"ios...

    颜色创建图像工具 UIImage-ImageWithColor.zip

    颜色创建图像工具 UIImage-ImageWithColor ,UIImage-ImageWithColor 是一款使用颜色创建图像的工具

    6-2(多触点缩放位图).zip

    标题中的“6-2(多触点缩放位图).zip”表明这是一个关于多触点交互和图像缩放技术的示例项目。在移动设备和触摸屏应用中,多触点功能是用户界面的重要组成部分,它允许用户通过两个或更多手指进行手势操作,如缩放、...

    iPad上的image流畅缩放

    6. **性能优化**:在处理大图像时,为避免内存过载,可以使用UIImage的`resizableImageWithCapInsets`方法来创建可伸缩的图像,或者在需要时才加载高分辨率的图像。同时,合理利用OpenGL ES或Metal进行硬件加速,...

    WebP-UIImage-源码.rar

    这个“WebP-UIImage-源码.rar”压缩包可能包含了用Objective-C或Swift实现的iOS平台上对WebP图像格式的支持,使得开发者可以直接在UIImage对象中加载和显示WebP图片。 在iOS开发中,UIImage是苹果提供的一个关键类...

    图片预览 图片缩放

    在iOS开发中,图片预览和缩放是常见的功能需求,尤其在展示大量图片或进行图像编辑时。本文将深入探讨如何使用ScrollView实现这一功能,包括图片预览、缩放、单击和双击事件的处理。 首先,ScrollView是苹果提供的...

    iOS中大尺寸图片的旋转与缩放实例详解

    例如,为了缩放一个UIImage,我们可以创建一个新的图形上下文,其大小为缩放后图像的尺寸,然后在该上下文中绘制原图像并获取新的UIImage。然而,对于大尺寸图片,我们需要考虑如何避免内存峰值。在缩放之前,可以先...

    UIImage+PDF图像的一个案例

    这是UIImage+PDF图像的一个案例,UIImage的一个 category (UIImage+PDF),能够让 UIImage 也能显示pdf格式的文件,这样可以方便利用 UIImageView 的缩放函数来对pdf图像进行缩放。可以用于显示 pdf 格式的图像、...

    UIImage+Sprite+Animmation

    这个类扩展了`UIImage`,增加了精灵(Sprite)和动画功能,让开发者能够更灵活地创建和控制游戏或应用中的动态图像。`UIImage+Sprite+Additions`可能是这个库或框架的名称,它提供了一些类别方法来增强原生`UIImage`...

    iOS图片压缩---UIImage+Wechat

    UIImage+Wechat 是一个专门用于图片压缩的优秀框架,旨在帮助开发者有效地减小图片的大小,同时保持较高的图像质量。这个框架在处理图片时,不仅关注压缩比例,还着重于保持图片的像素质量,以避免过多的图像失真。 ...

    IOS应用源码——UIImage+Sprite for iOS.rar

    在iOS开发中,UIImage是苹果提供的一个核心类,用于处理和显示图像。这个"UIImage+Sprite for iOS"的源码库显然扩展了UIImage类,增加了精灵(Sprite)功能,这通常用于2D游戏或者需要高效处理多帧动画的场景。在iOS...

    UIIMage 改变颜色和遮罩

    在iOS开发中,UIImage是苹果提供的一个关键类,用于显示和处理图像。当你需要对图片进行颜色调整或添加遮罩效果时,可以利用UIKit框架中的各种方法和属性来实现。下面将详细介绍如何改变UIImage的颜色以及如何应用...

    IOS屏幕图片循环切换缩放

    此外,为了保证在图片缩放后,再次切换时能恢复原状,我们需要保存每个UIImageView的原始尺寸和位置。当用户切换图片时,首先恢复UIImageView的transform为初始状态,然后根据新的页码设置ScrollView的contentOffset...

Global site tag (gtag.js) - Google Analytics