zoukankan      html  css  js  c++  java
  • UIImage得一个Category, Resizes(调整尺寸)

    转自:http://www.cocoachina.com/bbs/read.php?tid-3158.html

    写在最前边: Category得用法很方便, 举例来说: 新建一个Class文件, 文件名随意需要建立UIImage得Category就按照如下格式添加函数,括号内名称随意, 这种格式, 编译器即认为是一个Category
    @interface UIImage (xxx)
    @end

    @implementation UIImage (xxx)
    @end

    完整代码如下, 用法见附件Sample Code:

    @interface UIImage (Category)
    /*
    * Resizes and/or rotates an image.
    */
    - (UIImage*)transformWidth:(CGFloat)width 
                                      height:(CGFloat)height;
    @end
     
    @implementation UIImage (Category)
     
    - (UIImage*)transformWidth:(CGFloat)width 
                        height:(CGFloat)height {
     
        CGFloat destW = width;
        CGFloat destH = height;
        CGFloat sourceW = width;
        CGFloat sourceH = height;
     
        CGImageRef imageRef = self.CGImage;
        CGContextRef bitmap = CGBitmapContextCreate(NULL, 
                                                    destW, 
                                                    destH,
                                                    CGImageGetBitsPerComponent(imageRef), 
                                                    4*destW, 
                                                    CGImageGetColorSpace(imageRef),
                                                    (kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst));
     
        CGContextDrawImage(bitmap, CGRectMake(0, 0, sourceW, sourceH), imageRef);
     
        CGImageRef ref = CGBitmapContextCreateImage(bitmap);
        UIImage *result = [UIImage imageWithCGImage:ref];
        CGContextRelease(bitmap);
        CGImageRelease(ref);
     
        return result;
    }
    @end
    

    任何問題, 歡迎留言討論~阿彌陀佛! 

  • 相关阅读:
    term "JavaScript"
    Pro Git
    Pro Git
    Pro Git
    git
    flask
    OJ
    [蓝桥杯]Huffuman树
    priority_queue优先队列
    [蓝桥杯]高精度加法
  • 原文地址:https://www.cnblogs.com/yingkong1987/p/3013975.html
Copyright © 2011-2022 走看看