当前位置:首页 > 开发 > 移动开发 > 正文

截取视图的图片, 然后分享出去

发表于: 2015-02-11   作者:dcj3sjt126com   来源:转载   浏览:
摘要: OS 7 has a new method that allows you to draw a view hierarchy into the current graphics context. This can be used to get an UIImage very fast. I implemented a category method on UIView to get the vi

OS 7 has a new method that allows you to draw a view hierarchy into the current graphics context. This can be used to get an UIImage very fast.

I implemented a category method on UIView to get the view as an UIImage:

- (UIImage *)pb_takeSnapshot {
    UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, [UIScreen mainScreen].scale);

    [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];

    // old style [self.layer renderInContext:UIGraphicsGetCurrentContext()];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

 

It is considerably faster then the existing renderInContext: method.

Reference : https://developer.apple.com/library/ios/qa/qa1817/_index.html

UPDATE FOR SWIFT: An extension that does the same:

extension UIView {

    func pb_takeSnapshot() -> UIImage {
        UIGraphicsBeginImageContextWithOptions(self.bounds.size, false, UIScreen.mainScreen().scale);

        self.drawViewHierarchyInRect(self.bounds, afterScreenUpdates: true)

        // old style: self.layer.renderInContext(UIGraphicsGetCurrentContext())

        let image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return image;
    }
}

 

截取视图的图片, 然后分享出去

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
最近的游戏项目要接入发微博的功能,于是先研究了下腾讯的微博开放平台,试了下手,感兴趣的同学可
先看下效果图,因为要写DirectX 教程,涉及到旋转,觉得gif是最好的展览方式,很早就想知道如何截取
[转自]http://marshal.easymorse.com/archives/3703 在ios开发中,肯定会碰到需要截取部分图片的情
程序:http://files.cnblogs.com/xe2011/EXE_iWeb2014-4-9-185315.7z 源码:http://files.cnblogs.c
在做ASP.NET MVC后台管理程序时,根据程序需要,Isus.NET需要实现一个功能,就是动态截取视图某一段
首先看看效果: .aspx: < img src ="Images/Harmony.png" id ="Harmony" runat ="server" />
今天发现imageview自带的图片缩放和截取功能是那么强大: 设置android:scaleType="centerCrop"可以使
C# 模拟PrintScreen 和 Alt+PrintScreen截取屏幕图片 keybd_event API 函数功能:该函数合成一次击
查看效果 下载地址 基于jquery的图片截取工具 jquery imagecropper,可自定义截取区域的位置、大孝
查看效果 下载地址 基于jquery的图片截取工具 jquery imagecropper,可自定义截取区域的位置、大孝
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号