问题保存图像

时间:2010-12-13 11:52:42

标签: iphone objective-c

我的代码是:

NSLog(@"saving jpeg");
NSString *jpegFilePath = [NSString stringWithFormat:@"%@/%@.jpeg",docDir, [self.Youtubearray objectAtIndex:0]];
NSData *data2 = [NSData dataWithData:UIImageJPEGRepresentation([Result1 backgroundImage], 1.0f)];//1.0f = 100% quality
[data2 writeToFile:jpegFilePath atomically:YES];

基本上Result1是一个UIButton,我在代码中下载按钮的图像,并将背景图像设置为下载的图像。有没有办法从按钮保存这个图像或我将不得不再次下载?

由于

梅森

3 个答案:

答案 0 :(得分:1)

NSData *data = UIImageJPEGRepresentation([Result1 backgroundImage], 1.0f);

如果 Result1 无法获取jpeg图像数据,则返回nil。

答案 1 :(得分:0)

UIImage *img; // your image
NSData *data = UIImageJPEGRepresentation(img, 0.9f);

我正在使用:

NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager createFileAtPath:fullPath contents:data attributes:nil];

-Marc

答案 2 :(得分:0)

首先,将下载的图像保存到按钮中的想法听起来不太好。您应该考虑将图像保存在MVC的模型/控制器部分中的某个位置。视图不是保存任何数据的特别好的地方,因为如果视图消失,数据也会被释放。

其次,UIImageJPEGRepresentation()返回NSData对象,因此不需要[NSData dataWithData: jpegData]

第三,我认为[Result1 backgroundImage]返回nil或类似UIStretchableImage的东西。你应该检查返回的值。