2013-03-27 70 views
1

我希望能够从一组数据生成图像。图像生成后,我想将其保存到相册并将其显示在滚动视图中。我如何告诉应用程序创建图像?图像创建完成后,如何在滚动视图中显示它?同时,如何将该图像保存到相册中?在iOS应用程序中生成并保存图像

没有进入这里太多的细节是什么我的应用程序的功能:

它发生在一组数据,用户输入(主要是整型数据),然后将其转换成使用核心图形图像这一点(我可以生成一个图像,并通过为[视图控制器的子类UIView]子视图的视图生成一个新类来将其显示给视图控制器。现在我希望能够保存该图像供进一步使用(我希望能够保存无限数量的图像,因此NSUserDefaults不是我想要的)。一个PNG文件将是理想的,但我知道必须进行转换才能做到这一点。

事情,我想尝试:

的UIImage有很多的创造者,但我不知道我要使用哪一个。 我应该创建一个新类来生成图像吗? 我应该在另一个视图控制器中生成图像并将其保存并在视图控制器中进行访问并显示它?我应该一起跳过Core Graphics,只使用OpenGL ES(我有使用OpenGL的经验,不在iPhone上)?

+1

什么ü尝试? – 2013-03-27 16:40:10

+0

我已经尝试了以下方法并获得了保存图像:UIGraphicsBeginImageContextWithOptions //生成图像和modelImage = UIGraphicsGetImageFromCurrentImageContext(); //保存图像。我已经将它保存到相册中,但是我无法通过以下代码保存文本:UIFont * font = [UIFont boldSystemFontOfSize:24.0]; [[UIColor whiteColor] setFill]; [proteinName drawAtPoint:CGPointMake(15.0f,125.0f)withFont:font]; [proteinLength drawAtPoint:CGPointMake(length-100.0f,125.0f)withFont:font]; //不会显示在图片albm – rabbitx10 2013-04-08 17:49:30

+0

尝试使用ALAsset库来保存和检索照片库Images.Save你的UIImage使用ALAsset库,它会返回一个资产的URL来检索回来后完成保存过程..详情请点击http: //developer.apple.com/library/ios/#documentation/AssetsLibrary/Reference/ALAssetsLibrary_Class/Reference/Reference.html – 2013-04-08 21:55:13

回答

0

你不给你在做什么的细节,所以很难在其他劝告比一般条款:

  1. 你是如何生成你的形象?如果是基于UIImage的,保存图像很简单 - 使用UIImageWriteToSavedPhotosAlbum。该文档还说明了PNG和JPEG表示函数。
  2. 如果您还没有UIImage(即,您只是渲染到图形上下文中),则有不同的方法来处理您想要的内容。查看CGBitmapContextCreateImage上的Core Graphics文档以及UIGraphicsBeginImageContextWithOptions上的UIKit文档。

UPDATE:

关于文本,你调用之前UIGraphicsGetImageFromCurrentImageContext调用draw方法?

我通常使用一个核心图形的变化上你的方法,但逻辑是相似的:

CGContextRef context = CGBitmapContextCreate(...); 
// ... do some other drawing... 
NSString* foo = @"Foo"; 
CGRect bounds = CGRectMake(0,0,100,100); 
[foo drawInRect:bounds withFont:[UIFont systemFontOfSize:10]]; 
CGImageRef image = CGBitmapContextCreateImage(context); 
+0

我使用UIView类中的drawRect方法生成图像。我目前正在Core Graphics的开发者库中阅读,并且认为我可能偶然发现了与你所说的相同的东西。感谢您的回应。 – rabbitx10 2013-03-27 20:29:07

+0

谢谢,@ jstevenco。这对于实现它的工作非常有帮助。我现在遇到了一个问题,我无法使用drawAtPoint方法查看放在图像上的文本。我可以在我的滚动视图中看到它,但不能保存到相册中的图像中。我是不是将它添加到上下文中?还是只是没有妥善保存? – rabbitx10 2013-04-08 17:53:51

相关问题