objective-c - 如何在 Cocoa 中获取 JPEG 图像的压缩系数?

标签 objective-c cocoa jpeg nsimage

OSX 应用程序读取 JPEG 图像,进行一些处理,并打算以原始图像的压缩系数保存图像。

我无意中获得了原始图像的压缩系数。 NSImage 类没有类似的东西。

NSBitmapImageRep 类有方便的方法:

- (void)getCompression:(NSTIFFCompression *)compressionfactor:(float *)factor

但是,如果我从使用 dataWithContentsOfFile 读取的 NSData 中获取 NSBitmapImageRep,则压缩系数为零。

有什么想法吗,如何在 Cocoa 中获取 JPEG 图像的压缩系数?

最佳答案

ImageMagick++库很简单:

Image magick_image( [pathname cStringUsingEncoding:NSUTF8StringEncoding] );
size_t compressionFactor = magick_image.quality(); // 0..100

它是 Objective-C 和 C++ 的混合体,称为 Objective-C++。 Magick++,顾名思义,是 C++ 库,是 C 库 ImageMagick 的包装器。在上面的代码片段中,Image 是 Magick++ 库中的 C++ 类。路径名是 NSString Objective-C 类的对象。

关于objective-c - 如何在 Cocoa 中获取 JPEG 图像的压缩系数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12500694/

相关文章:

objective-c - Xcode:将 Cocoa 应用程序目标添加到命令行工具

cocoa - 如何在 OS X Lion 上获取用户的邮件地址?

jpeg - 将大量自定义数据添加到 jpg 图像文件中

ios - 如何发送 jpeg 的多部分响应

ios - 单击表格 View 单元格时隐藏 UIImageView

iphone - 我如何构建这个静态 C 库以与 iPhone 一起使用

swift - 在 xib Controller 中注入(inject)依赖项

java - 处理 JPEG 元数据的最佳库是什么?

image-processing - 如何从 System.Drawing.Image 创建 Emgu 图像?

objective-c - block : Release object in completion handler?