`
yangping_Account
  • 浏览: 192823 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

给界面上任何控件截图并保存为PNG的方法

 
阅读更多

    UIView *view = [[[[[UIApplication sharedApplication] windows] objectAtIndex:1] subviews] lastObject];//获得某个window的某个subView
 
    NSInteger index = 0;//用来给保存的png命名
    for (UIView *subView in [view subviews]) {//遍历这个view的subViews
        if ([subView isKindOfClass:NSClassFromString(@"UIImageView")] || [subView isKindOfClass:NSClassFromString(@"UIThreePartButton")]) {//找到自己需要的subView
            //支持retina高分的关键
            if(UIGraphicsBeginImageContextWithOptions != NULL)
            {
                UIGraphicsBeginImageContextWithOptions(subView.frame.size, NO, 0.0);
            } else {
                UIGraphicsBeginImageContext(subView.frame.size);
            }            
 
            //获取图像
            [subView.layer renderInContext:UIGraphicsGetCurrentContext()];
            UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
            UIGraphicsEndImageContext();
 
            //保存图像
            NSString *path = [NSHomeDirectory() stringByAppendingFormat:@"/%d.png",index];
            if ([UIImagePNGRepresentation(image) writeToFile:path atomically:YES]) {
                index += 1;
                NSLog(@"Succeeded!");
            }
            else {
                NSLog(@"Failed!");
            }
        }
    }
 

分享到:
评论

相关推荐

    PNG Image控件(Delphi)

    在 Delphi 或 C++Builder 的界面上,只需将控件拖放到表单上,然后通过属性设置来调整其行为,即可实现 PNG 图像的显示。同时,通过编写代码,可以控制控件的更复杂功能,如动态加载图片、改变图片属性或进行图像...

    vb6保存窗口界面为图片

    VB6提供了一些内置的API函数和控件,使得开发者可以捕获应用程序的当前视图并将其保存为图像文件。以下是实现这一功能的关键知识点: 1. **ScreenCapture**: VB6中并没有直接提供屏幕截图的内建方法,但可以通过API...

    delphi控件PNGimage1.43

    这个控件的主要功能是提供对PNG(Portable Network Graphics)图像的支持,包括读取、显示和保存PNG图像,并且能够实现PNG图像的透明效果。PNG是一种无损压缩的位图图像格式,广泛应用于网页设计和软件开发,因为它...

    C#窗体截图并保存

    本文将详细介绍如何在C#中实现窗体或控件的截图功能,并提供两种保存截图的方法。 #### 二、关键概念解析 ##### 1. 截图 截图是指通过编程手段捕捉当前屏幕或某个窗口的内容,并将其转换为图像文件的过程。在C#中,...

    C# 实现完整功能的截图控件

    5. **保存和显示截图**:捕获到的图像可以保存为各种格式(如JPEG、PNG或BMP)到本地文件系统,也可以直接在窗体上显示。Image.Save方法用于保存图像,PictureBox控件则用于在界面上显示。 6. **第三方控件集成**:...

    pngimage控件

    3. **加载和保存**:控件提供了加载和保存PNG图像的功能,允许用户动态更改显示的图像或保存当前状态。 4. **事件**:PNGImage控件可能有鼠标点击、双击、拖放等事件,开发者可以利用这些事件来实现交互式功能,如...

    pngimage for delphi7

    使用 PNGImage for Delphi7 控件,开发者可以轻松地在 Delphi 7 应用程序中处理 PNG 图像,无论是从文件加载、在界面上显示,还是保存用户编辑的图像。通过这个控件,你可以实现如下的功能: - 显示透明 PNG 图标或...

    PNG Delphi 处理PNG图像的Delphi控件

    此外,控件还提供了丰富的事件和方法,例如 `LoadFromStream` 用于从流对象加载 PNG 图像,`SaveToStream` 可以将 PNG 图像保存到流中,而 `Draw` 方法则可以将图像绘制到指定的画布上。 PNGDelphi 控件还附带了...

    C# 做的仿风雷界面播放器控件(有截图功能)avi rmvb rm等格式

    【标题】"C# 做的仿风雷界面播放器控件(有截图功能)avi rmvb rm等格式" 涉及的关键知识点主要集中在使用C#编程语言开发一个多媒体播放器,该播放器不仅支持常见的视频格式如AVI、RMVB、RM,还具有独特的屏幕截图功能...

    delphi2010 开发的 图片水印工具 透明Panel,用到拖动控件, 窗体保存图片技术 有源代码

    首先,我们需要创建一个TBitmap对象,然后将窗体的内容(包括水印)绘制到这个位图上,最后调用SaveToFile方法将其保存为指定格式的图片文件,如JPG、PNG等。 4. **源代码分析** 提供的源代码包含几个关键文件:...

    易语言PNG上放控件.zip易语言项目例子源码下载

    易语言PNG上放控件.zip是一个包含易语言项目的压缩包,该项目主要展示了如何在PNG图像上放置和操作控件。易语言是一种以中文为编程语言的编程环境,它旨在降低编程难度,让更多人能接触并掌握编程技术。在这个项目中...

    C# 开发的将控件转换成图片

    本教程将深入探讨如何使用C#来实现一个功能,即将窗体上的控件转换为图片并保存到本地。这个功能在许多场景下都非常有用,比如记录用户界面的状态,或者创建自定义的屏幕截图工具。 首先,我们需要理解C#中的...

    labview截图程序_LABVIEW界面_labview截图_labview截屏_labview截图_labview截屏

    这些函数能够捕获当前屏幕的图像,并将其保存为图片文件,如BMP、JPEG或PNG格式。此外,LabVIEW还提供了API调用来处理更高级的截图需求,例如指定区域截图、定时截图或者在特定事件触发时截图。 在实现这一功能的...

    winform C# 将图片转成透明背景的png 源代码

    4. **保存为PNG**:最后,我们将处理后的图像保存为PNG格式,确保透明度被正确保留: ```csharp transparentImage.Save("output.png", ImageFormat.Png); ``` 在这个过程中,`CompositingMode.SourceCopy`设置决定...

    VB加载PNG图片的控件

    在VB(Visual Basic)编程环境中,加载PNG图片可能会遇到一些挑战,因为标准的VB控件并不直接支持PNG这种格式,特别是在较旧的版本中。PNG(Portable Network Graphics)是一种无损压缩的图像文件格式,它提供了透明...

    vb.net 仿QQ截图控件

    4. **保存或分享**:截图完成后,用户可以选择保存为图片文件或直接通过邮件、社交平台等方式分享。 在VB.NET中实现这些功能,我们可以采用以下技术: 1. **System.Drawing命名空间**:VB.NET提供了System.Drawing...

    VC仿QQ截图的控件

    它可能包含了初始化控件、显示截图预览、选择截图区域、编辑截图(如添加箭头、文字等)、保存图片等一系列步骤。在VC++中,我们可以使用MFC(Microsoft Foundation Classes)库来简化GUI界面的构建。通过创建对话框...

    delphi bmp生成透明png

    BMP文件虽然常见,但不包含透明信息,因此需要通过特定的方法将BMP转换为具有透明度的PNG。以下将详细介绍如何在Delphi中实现这一过程,并提供一些实例以帮助理解。 首先,我们需要了解PNG中的透明度是如何表示的。...

Global site tag (gtag.js) - Google Analytics