`
dcj3sjt126com
  • 浏览: 1877780 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • IOS
阅读更多

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;
    }
}

 

分享到:
评论

相关推荐

    c#截取一张图片的部分 或者缩放图片

    在C#编程中,处理图像是一项常见的任务,包括截取图片的部分区域以及对图片进行缩放。本篇文章将深入探讨这两个知识点,旨在帮助你理解如何使用C#来实现这些功能。 首先,我们要介绍的是如何截取图片的部分。这通常...

    图片截取和图片服务器

    然后,我们来谈谈“图片服务器”。图片服务器是专门负责存储、处理和分发图片的服务。它可以是独立的,也可以集成在现有的Web服务器中。关键在于它需要能够快速响应请求,提供高效的图片加载。实现时,可以利用CDN...

    javascript实现图片截取

    我们可以将图片加载到Canvas上,然后通过API提供的方法进行像素级别的操作,包括截取图片的特定区域。 关键步骤如下: 1. **加载图片**:使用`<img>`元素加载图片,并添加一个`onload`事件处理器,确保图片完全...

    jquery图片截取DEMO

    在IT行业中,jQuery图片截取是一项常见的前端技术,主要用于用户交互式地选择并截取图片的特定区域。这个"jquery图片截取DEMO"提供了一个实际应用的例子,帮助开发者理解和实现这一功能。以下是对这个DEMO相关的知识...

    java用ffmpeg截取视频图片

    Java 使用 FFmpeg 截取视频图片是一个常见的任务,它涉及到多媒体处理、命令行操作和跨平台编程。FFmpeg 是一个强大的开源工具集,用于处理音频和视频文件,包括编码、解码、转码、流处理等功能。在 Java 中,我们...

    .net上传图片并在线截取图片

    - 图片转Base64:将图片文件转化为Base64字符串,然后在前端用`<img>`标签显示,这样可以在不实际保存图片到服务器的情况下实现预览。 3. 在线截取: - JavaScript库:使用JavaScript库如JQuery UI的Resizable和...

    android框选图片中的一部分并截取

    在Android平台上,框选图片中的一部分并截取是一项常见的需求,比如在应用中实现自定义截图功能、编辑图片或者在图像处理中选择特定区域。这个功能涉及到多个Android SDK中的类和方法,包括图像处理、视图操作以及...

    js 截取图片代码(截取中间部分)

    js 截取图片代码

    截取View转为图片

    此外,如果你需要截取屏幕截图,还可以使用`Activity.getWindow().getDecorView().getRootView()`获取根视图,然后按照上述步骤进行转换。但要注意,由于可能存在硬件加速等问题,直接对DecorView截图可能会丢失某些...

    图片截取截屏DEMO

    图片截取是指在计算机屏幕上选择一个区域,然后将其保存为图像文件的过程。这通常用于记录屏幕上的信息,分享给他人,或者进行后续编辑。在Windows系统中,我们可以使用内置的"Print Screen"键来截取整个屏幕,或者...

    JS 按图片比例截取中间部分 缩略图不失真

    首先,计算出缩放后的图片尺寸,然后确定截取的坐标,通常是图片的中心区域。例如,可以创建一个与目标尺寸相同的canvas元素,将图片绘制到canvas上,然后使用`drawImage()`方法,指定开始绘制的x和y坐标以及宽度和...

    基于jquery的图片截取工具

    在网页开发中,图片截取功能常常用于用户上传图片并裁剪为特定尺寸,以便适应网站的布局或者作为头像等用途。基于jQuery的图片截取工具就是为了解决这个问题而设计的,它允许开发者轻松地集成到项目中,提供用户友好...

    jquery 图片上传并截取

    本文将深入探讨如何使用jQuery实现图片上传并截取特定大小的功能,类似于QQ上传头像时的裁剪操作。 首先,我们需要了解图片上传的基本流程。在Web端,用户通常通过HTML的`<input type="file">`标签选择本地图片,...

    图片截取的java代码

    该工具类用于java代码对图片的截取,按照上下左右边距的百分比截取,然后返回被截取之后图片信息的byte数组,用户可以将byte数组,用fileoutputStream保存在指定的目录

    net C# 上传视频自动截取一张图片.rar

    接下来,我们需要截取视频的第一帧作为图片。这通常需要用到第三方库,如FFmpeg。FFmpeg是一个强大的跨平台多媒体处理工具,可以读取、转换和流化音频和视频文件。在C#中,我们可以使用nuget包如`Xabe.FFmpeg`来调用...

    delphi 10.2 图片截取生成头像图片

    关于图片截取部分,开发者可能使用了 Delphi 的 TImage 控件来显示原始图片,然后利用 TCanvas 对象来实现截取操作。TCanvas 提供了画笔、刷子等图形绘制工具,可以用来绘制矩形选择框,实现拖拽截取。放大缩小功能...

    上传图片截取JS

    在IT领域,图片上传和截取是常见的交互功能,尤其在网络应用中,用户可能需要上传自己的照片或截图来完成各种操作。"上传图片截取JS"这个标题所指的,就是利用JavaScript(简称JS)技术实现图片上传和图片裁剪的功能...

    截取当前视图

    在标题和描述中提到的“截取当前视图”主要是指获取屏幕上某一部分或者整个屏幕的图像,这在分享、保存或进行其他视觉交互时非常有用。我们将围绕这一主题,深入探讨如何使用`UIImage`类来实现这个功能。 `UIImage`...

    JavaScript截取图片

    9. **应用场景**: JavaScript截取图片广泛应用于在线教育、屏幕分享、网页保存为图片、网页截图分享等功能。例如,用户可以在网页上自定义截取感兴趣的区域,然后分享或保存。 10. **性能优化**: 对于大型或者复杂...

    图片截取控件 MLImageCrop.zip

    对于那些需要图片编辑功能的项目,如社交应用、图片分享应用等,MLImageCrop是一个值得考虑的解决方案。通过深入理解其原理和用法,开发者可以更加自如地应对各种图片处理需求,打造更优秀的移动应用。

Global site tag (gtag.js) - Google Analytics