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;

    }

     
  • 相关阅读:
    容器之队列的使用
    容器之栈的使用
    rapidxml的使用
    C++判断文件夹是否存在并创建文件夹
    VS2017,不能将const char *转为char *
    CSS_day01_选择器
    HTML_day02_列表
    HTML_day01基本标签
    python_day3
    python_day2
  • 原文地址:https://www.cnblogs.com/joesen/p/3807392.html
Copyright © 2011-2022 走看看