将图像写入可可应用程序中的文件

时间:2009-10-27 19:22:13

标签: objective-c cocoa

我在Mac OSX上有一个图形编辑可可应用程序,可生成32 x 32平方位图,我需要以编程方式(我根本不能使用界面构建器)将此图像输出到.jpg或.png。任何人都可以链接我一些关于如何完成这项任务的好资源吗?

4 个答案:

答案 0 :(得分:3)

如果您从图像中获得NSBitmapImageRep,则可以生成PNG和JPEG。见representationUsingType:properties:

答案 1 :(得分:2)

我知道你说jpeg或png,但你可以使用NSImage的{​​{3}}方法。它返回NSData的实例。所以按照

的方式做一些事情
[[yourImageInstance TIFFRepresentation] writeToFile:@"/path/to/file.tiff" atomically:NO];

会将TIFF图像写入文件。我不认为NSImage有任何以png或jpeg格式获取数据的内置方式。

修改

快速谷歌并找到了TIFFRepresentation,其中包含有关保存PNG数据而不是TIFF数据的信息。看起来非常简单。

答案 2 :(得分:2)

有一个名为image的UIImage:

NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
NSString *tmpPathToFile = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@/tempImage.jpg", tempPath]];
[imageData writeToFile:tmpPathToFile atomically:YES];

答案 3 :(得分:0)

使用iPhone的 PhotoshopFramework https://sourceforge.net/projects/photoshopframew/)。有非常方便的方法将图像保存到磁盘:

/// Save as JPG File with High Quality.
-(BOOL)saveAsJPGFile:(NSString*)anFileName;

/// Save as JPG File with User Defined Quality.
-(BOOL)saveAsJPGFile:(NSString*)anFileName compressionQuality:(CGFloat)quality;

/// Save as PNG File.
-(BOOL)saveAsPNGFile:(NSString*)anFileName;