精华内容
下载资源
问答
  • iOS UIImage 图像旋转

    千次阅读 2016-02-25 10:54:14
    iOS UIImage 图像旋转 vImg:待旋转的图 vAngle:旋转角度 vIsExpand:是否扩展,如果不扩展,那么图像大小不变,但被截掉一部分 */ - (UIImage*)rotateImageWithAngle:(UIImage*)vImg Angle:(CGFloat)vAngle ...
    /*
     iOS UIImage 图像旋转
     vImg:待旋转的图
     vAngle:旋转角度
     vIsExpand:是否扩展,如果不扩展,那么图像大小不变,但被截掉一部分
     */
    - (UIImage*)rotateImageWithAngle:(UIImage*)vImg Angle:(CGFloat)vAngle IsExpand:(BOOL)vIsExpand
    {
        CGSize imgSize = CGSizeMake(vImg.size.width * vImg.scale, vImg.size.height * vImg.scale);
        
        CGSize outputSize = imgSize;
        if (vIsExpand) {
            CGRect rect = CGRectMake(0, 0, imgSize.width, imgSize.height);
            //旋转
            rect = CGRectApplyAffineTransform(rect, CGAffineTransformMakeRotation(vAngle*M_PI/180.0));
        
            //NSLog(@"rotateImageWithAngle, size0:%f, size1:%f", imgSize.width, rect.size.width);
            outputSize = CGSizeMake(CGRectGetWidth(rect), CGRectGetHeight(rect));
        }
        
        UIGraphicsBeginImageContext(outputSize);
        CGContextRef context = UIGraphicsGetCurrentContext();
        
        CGContextTranslateCTM(context, outputSize.width / 2, outputSize.height / 2);
        CGContextRotateCTM(context, vAngle*M_PI/180.0);
        CGContextTranslateCTM(context, -imgSize.width / 2, -imgSize.height / 2);
        
        [vImg drawInRect:CGRectMake(0, 0, imgSize.width, imgSize.height)];
        
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        
        return image;
    }

    展开全文
  • iOS UIImage方法总结

    2014-11-13 21:01:49
    IOS UIImage类方法总结 IOS中对图片的处理 UIImage 相信做项目时肯定会有用到 UIImage 这个类,那我们就来看一下这个类中都有什么内容。 其实这篇文章就是在看文档的时候想记录一下文档中得方法。 ...

    iOS UIImage类方法总结


    IOS中对图片的处理  UIImage
    相信做项目时肯定会有用到 UIImage 这个类,那我们就来看一下这个类中都有什么内容。
    其实这篇文章就是在看文档的时候想记录一下文档中得方法。
    UIImage  继承于NSObject
    下面介绍一下UIImage中的方法
    首先是我们最常用的

    通过图片的文件名来获取这个图片
    + (UIImage *)imageNamed:(NSString *)name
    //要注意的是这个方法适用于已经导入到工程中的图片

    创建新图片


    1、+ (UIImage *)imageWithContentsOfFile:(NSString *)path
    //通过文件加载指定路径下的文件内容获得新图片

    2、+ (UIImage *)imageWithData:(NSData *)data
    //通过一个NSData对象来获得图片
    3、+ (UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale
    //同上,只是再加上一个图片大小比例,用来改变图片的大小

    4、+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage
    //使用Quartz 2D对象创建UIImage
    5、+ (UIImage *)imageWithCGImage:(CGImageRef)imageRef scale:(CGFloat)scale orientation:(UIImageOrientation)orientation
    //制定图片的比例和方向,其中方向是个枚举类。

    6、+ (UIImage *)imageWithCIImage:(CIImage *)ciImage
    //用一个Core Image 对象创建图像
    7、+ (UIImage *)imageWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation
    //再加上比例和图片方向

    8、- (UIImage *)imageWithAlignmentRectInsets:(UIEdgeInsets)alignmentInsets
    //返回指定矩形区域内的图像

    9、+ (UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration
    //创建一个动态图片,动态图片持续的时间为duration
    10、+ (UIImage *)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)duration
    //用一组图片创建一个动态图片,动态持续时间duration

    11、+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets duration:(NSTimeInterval)duration
    //创建一个在可变大小的图片上指定矩形区域内的动态图片
    12、+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode duration:(NSTimeInterval)duration
    //同上,只是多了一个图片变化的方式,具体来说就是平铺或者拉伸

    13、- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets
    //用制定矩形区域创建图像
    14、- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
    //同上,指定图片变化方式

    初始化图片  


    方法的作用在从上面的一些方法中都能找到原型,这里就不一一注释了
    1、– initWithContentsOfFile:  //从文件加载图片
    2、– initWithData:                  //用NSData对象初始化图片
    3、– initWithData:scale:      //用NSData对象,指定的比例,初始化图片
    4、– initWithCGImage:
    5、– initWithCGImage:scale:orientation:
    6、– initWithCIImage:
    7、– initWithCIImage:scale:orientation:


    绘画图片

    1、– drawAtPoint:
    //在指定的点开始绘画图片,这个点就是图片的做上角顶点
    2、- (void)drawAtPoint:(CGPoint)point blendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha
    //在指定的点绘制整个图片,并使用自定义图片复合模式,并设置透明度

    3、– drawInRect:
    //在指定区域内绘制图片,可根据需要缩放图片
    4、– drawInRect:blendMode:alpha:
    //参照上面第二条
    5、– drawAsPatternInRect:
    //在指定区域内,平铺图片


    image的属性
      imageOrientation   //图片的方向
       size   //图片的大小size
       scale   //图片的比例
       resizingMode  //图片变化方式
       CGImage  //潜在的Quartz image
       CIImage  //潜在的Core Image
       images  //返回一个由图片组成的数组,针对于由一组图片生成的动态图片
       duration  //返回动态图片持续的时间(即动态图片播放一遍的时间)
       capInsets  //图片上选定的区域
       alignmentRectInsets  //图片平铺的区域
    展开全文
  • iOS UIImage设置圆角

    2019-12-20 10:36:13
    新建UIImage分类如下: @interface UIImage (RoundedRectImage) - (UIImage *)setRoundedCorners:(CGFloat)radius andSize:(CGSize)size; @end #import "UIImage+RoundedRectImage.h" @implementation UIImage ...
    新建UIImage分类如下:
    @interface UIImage (RoundedRectImage)
    - (UIImage *)setRoundedCorners:(CGFloat)radius andSize:(CGSize)size;
    @end
    
    
    #import "UIImage+RoundedRectImage.h"
    
    @implementation UIImage (RoundedRectImage)
    
    - (UIImage *)setRoundedCorners:(CGFloat)radius andSize:(CGSize)size{
        CGRect rect = CGRectMake(0, 0, size.width, size.height);
        UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);
        CGContextRef ctx = UIGraphicsGetCurrentContext();
        UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(radius, radius)];
        CGContextAddPath(ctx,path.CGPath);
        CGContextClip(ctx);
        [self drawInRect:rect];
        CGContextDrawPath(ctx, kCGPathFillStroke);
        UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return newImage;
    }
    
    展开全文
  • iOS UIImage 压缩 剪切

    2018-03-28 10:34:32
    /* image 需要压缩的图片 newSize 压缩后的尺寸大小 */-(UIImage *)imageWithImage:(UIImage *)image CompressToSize:(CGSize)newSize;- (UIImage *)imageWithImage:(UIImage *)image CompressToSize:(CGSize)...

    /*

     image 需要压缩的图片

     newSize 压缩后的尺寸大小

     */

    -(UIImage *)imageWithImage:(UIImage *)image CompressToSize:(CGSize)newSize;


    - (UIImage *)imageWithImage:(UIImage *)image CompressToSize:(CGSize)newSize

    {

        UIImage *newImage = image;

        CGFloat imgWigthF = newImage.size.width / newSize.width;//实际宽度和展示宽度相比较

        CGFloat imgheigthF = newImage.size.height / newSize.height;//实际高度和展示高度相比较

        CGFloat imgWigth = 0.0;

        CGFloat imgheigth = 0.0;

        //根据宽高比例的大小压缩图片

        if (imgWigthF >= imgheigthF)

        {//图片比较宽时,根据高度压缩图片

            imgWigth = newImage.size.width / imgheigthF;

            imgheigth = newImage.size.height / imgheigthF;

        }else

        {//图片比较高时,根据宽度压缩图片

            imgWigth = newImage.size.width / imgWigthF;

            imgheigth = newImage.size.height / imgWigthF;

        }

        

        newImage = [self imageWithImage:image scaledToSize:CGSizeMake(imgWigth, imgheigth)];

        

        //把压缩好的图片根据尺寸大小剪切

        CGImageRef cgRef = newImage.CGImage;

        CGImageRef imageRef = CGImageCreateWithImageInRect(cgRef, CGRectMake(0,0, newSize.width, newSize.height));

        UIImage *thumbScale = [UIImage imageWithCGImage:imageRef];

        CGImageRelease(imageRef);

        

        newImage = thumbScale;

        

        //返回剪切后的图片

        return newImage;

    }


    //对图片尺寸进行压缩--

    -(UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize

    {

        UIGraphicsBeginImageContext(newSize);

        

        [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

        

        UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();

        

        UIGraphicsEndImageContext();

        

        return newImage;

    }



    展开全文
  • stretchableImageWithLeftCapWidth resizableImageWithCapInsets
  • iOS UIImage 四周有白色边框 内部没有 如何吧白色边框裁剪掉 留下中间的图案部分
  • ios UIImage转RGB

    千次阅读 2018-12-25 21:02:05
    有时需要一些特殊目的, ...+ (unsigned char *)rgbArray: (UIImage *) uiimage { CGImageRef image = [uiimage CGImage]; CGSize size = uiimage.size; CGColorSpaceRef colorSpace = CGColorSpaceCreateDe...
  • iOS UIImage 转NSString

    万次阅读 2015-08-12 13:16:25
    项目中可能会有这样的需求,比如图片上传服务器时一般都会转成NSString再上传 那么问题来了,图片如何转为NSString ,已经被...-(NSString *)UIImageToBase64Str:(UIImage *) image { NSData *data = UIImageJPEGR
  • iOS UIimage对象的生成

    2017-07-28 10:54:47
     //代码中生成UIImage对象的时候,常见的有下面两种方法,个人理解,望大家指正  //1.使用image的name加载图片,这样的方式特点就是在第一次加载该图片的时候是从该图片的存放路径加载,有可能是assets文件夹,也...
  • IOS UIImage类方法总结

    2016-04-14 13:12:32
    IOS中对图片的处理 UIImage 相信做项目时肯定会有用到 UIImage 这个类,那我们就来看一下这个类中都有什么内容。 其实这篇文章就是在看文档的时候想记录一下文档中得方法。 UIImage 继承于NSObject 下面介绍一下...
  • iOS UIImage的解码时机

    千次阅读 2017-09-26 17:49:08
    UIImage的图片转码时机是在GPU绘制图像时
  • iOS UIImage根据屏宽调整size

    千次阅读 2017-01-18 10:33:29
    需求:UIImage根据屏幕宽度按照自己本身比例改变高度 上代码,为UIImage创建一个Category #import "UIImage+UIImageExtras.h" @implementation UIImage (UIImageExtras) - (UIImage *)...
  • - (void)imageWihtSize:(CGSize)size radius:(CGFloat)radius backColor:(UIColor *)backColor completion:(void(^)(UIImage *image))completion{ // 异步绘制裁切 dispatch_async(dispatch_get_global_queue(0, 0...
  • iOS UIImage类 imageNamed方法使用不当

    千次阅读 2017-06-06 17:25:53
    今天碰到这么一个问题,push到一个新页面,该页面用for循环UIImage的imageNamed 去批量加载图片,赋值给imageview,执行animationImages动画。第一次push发现存在延时,第二次后就不出现延时状况。经查找,发现是由...
  • IOS UIImage类介绍

    2014-09-14 13:35:12
    +[UIImage p_w_picpathNamed:(NSString *) name];// 从文件系统中读取图像,参数为完整的文件名(包括路径信息)-[UIImage initWithContentsOfFile:(NSString *) path];// 从内存中读取图像数据-[UIImage initWithData...
  • iOS UIImage类方法总结

    千次阅读 2016-01-02 21:49:12
    IOS中对图片的处理  UIImage 相信做项目时肯定会有用到 UIImage 这个类,那我们就来看一下这个类中都有什么内容。 其实这篇文章就是在看文档的时候想记录一下文档中得方法。 UIImage  继承于...
  • [UIImage imageNamed:@"icon.png"] 用上面的方法加载图片有问题。该方法即可以从bundle中读取图片。 这种方法在application bundle的顶层文件夹寻找由供应的名字的图象 。 如果找到图片,装载到iPhone系统...
  • 展示图片 时候 固定 了 imageView 的大小 图片 也裁剪了 尽量保持比例 可是 还是失真 变形了 这张图 ui 要求展示的UIimageView 大小 是固定 的 ,传过来的 图片 是这样的比例大小 这么大的图呢 比例 完全 不对...
  • iOS 5.0中,UIImage又有一个新方法 可以处理图片的拉伸问题 [java]   view plain copy - (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets  ...
  • 着色(Tint Color)是iOS7界面中的一个设置UIImage的渲染模式,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:...
  • iOS UIimage和UI color转换

    2015-11-11 10:08:21
    由color转换到image ...- (UIImage*)createImageWithColor: (UIColor*) color {   CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);  UIGraphicsBeginImageContext(rect.size);  CGContextRef conte
  • iOS UIImage扩展方法(category):放大、旋转、合并UIImage、增加渐变层、添加阴影、调节透明度、保存到相册 一有用的 UIImage 扩展,支持(等比例)放大和旋转可在许多 App 中使用。 UIImage-Extensions....
  • 原理:1、创建一个输出大小的DC  2、计算图片应该绘制的位置 ...- (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect {  CGImageRef sourceImageRef = [image CGImage];  CGImageRef n
  • iOS UIimage拉伸的三种方法

    万次阅读 2016-04-13 09:48:49
    //用到image的这个方法- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight  //leftCapWidth:左边不拉伸区域 //topCapHeight:上面不拉伸区域 ...
  • // UIImage *newImage = [[UIImage imageNamed:@"sender"] stretchableImageWithLeftCapWidth:leftCap topCapHeight:topCap];    _imageView.frame = CGRectMake(self.view.bounds.size.width-50*_scale...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,318
精华内容 26,127
关键字:

iosuiimage