zoukankan      html  css  js  c++  java
  • UIView 转 UIImage

    这个方法很实用,特别是在做水印相机得时候。。。
    
    - (UIImage*) imageWithUIView:(UIView*) view{
        // 创建一个bitmap的context  
        // 并把它设置成为当前正在使用的context  
        UIGraphicsBeginImageContext(view.bounds.size);  
        CGContextRef currnetContext = UIGraphicsGetCurrentContext();
        //[view.layer drawInContext:currnetContext];
        [view.layer renderInContext:currnetContext];
        // 从当前context中创建一个改变大小后的图片  
        UIImage* image = UIGraphicsGetImageFromCurrentImageContext();  
        // 使当前的context出堆栈  
        UIGraphicsEndImageContext();  
        return image;
    }

    这个方法转换成的UIImage不是高清的,想要得到高清的图片用下面的方法

    + (UIImage*)convertViewToImage:(UIView*)view

    {

        CGSize size = view.bounds.size;

        // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了

        UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);
        [view.layer renderInContext:UIGraphicsGetCurrentContext()];
        UIImage*image = UIGraphicsGetImageFromCurrentImageContext();

      UIGraphicsEndImageContext();

        return image;

    }

     
  • 相关阅读:
    实验一框架选择及其分析
    站立会议(一)
    关于有多少个1的计算
    寻找水王问题
    如何买到更便宜的书
    NABCD
    二维数组首尾相连求最大子矩阵
    环数组求最大子数组的和
    二维数组求最大矩阵
    关于铁道大学基础教学楼电梯调查
  • 原文地址:https://www.cnblogs.com/joesen/p/3807392.html
Copyright © 2011-2022 走看看