【问题标题】:How to save a png image to camera roll?如何将png图像保存到相机胶卷?
【发布时间】:2010-04-03 17:59:23
【问题描述】:

我想将游戏中的屏幕截图保存到相机胶卷。 现在我正在使用 UIImageWriteToSavedPhotosAlbum 以 jpg 格式保存图像,其中包含太多丑陋的 jpg 伪影。 有没有办法将 png 格式的 UIImage 保存到相机胶卷?

【问题讨论】:

    标签: iphone uiimage


    【解决方案1】:

    首先你必须添加 AssetsLibrary 框架,而不是像这样:

    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    
    UIImage *image = ... some image
    
    [library writeImageDataToSavedPhotosAlbum: UIImagePNGRepresentation(image) metadata:nil completionBlock:nil];
    

    【讨论】:

      【解决方案2】:

      此处指出的解决方案现已弃用 - 这篇文章:

      UIImageWriteToSavedPhotosAlbum saves to wrong size and quality

      展示了如何做到这一点:

      UIImage* im = [UIImage imageWithCGImage:myCGRef]; // make image from CGRef
      NSData* imdata =  UIImagePNGRepresentation ( im ); // get PNG representation
      UIImage* im2 = [UIImage imageWithData:imdata]; // wrap UIImage around PNG representation
      UIImageWriteToSavedPhotosAlbum(im2, nil, nil, nil); // save to photo album
      

      【讨论】:

        【解决方案3】:

        Napolit “我想将游戏中的屏幕截图保存到相机胶卷中。现在我正在使用 UIImageWriteToSavedPhotosAlbum 将图像保存为 jpg 格式,但太多了......”

        刚刚偶然发现您的问题,其中大部分我无法回答。但是,我确实有一个简单快捷的方法来抓取 iPad 屏幕。只需同时按下 SLEEP/WAKE 按钮和 HOME(屏幕底部的圆形按钮)按钮。

        【讨论】:

          【解决方案4】:

          这告诉了如何将 UIImage 表示为 jpg 或 png:Save UIImage Object as PNG or JPEG File

          【讨论】:

            猜你喜欢
            • 2018-05-09
            • 2022-01-01
            • 2016-10-26
            • 1970-01-01
            • 2015-11-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多