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/