【问题标题】:Why is TIFFRepresentation bigger than the actual image file?为什么 TIFFRepresentation 比实际图像文件大?
【发布时间】:2023-03-12 16:30:02
【问题描述】:

这是我使用的代码:

NSImage *image = [[NSBundle bundleForClass:[self class]] imageForResource:@"test.jpg"];
NSData *originalData = [image TIFFRepresentationUsingCompression:NSTIFFCompressionJPEG factor:1.];

originalData.length 给了我 1802224 字节 (1.7MB)。而磁盘上的图像大小为 457KB。为什么TIFFRepresentation 会变大,我应该使用哪种表示来获取原始图像(我想通过网络传输图像)?

【问题讨论】:

    标签: objective-c macos nsimage nsimagerep


    【解决方案1】:

    TIFF 比 JPEG 大得多。这并不奇怪。

    但是,您的实际问题的答案是:不要使用任何“表示”。您拥有数据(即文件本身);发送!不要将图像文件变成 NSImage;将其作为 NSData 抓取。

    【讨论】:

    • 嗯。所以基本上,在用户拖放图像的情况下,我只需要在图像旁边(在 UI 中使用)对拖放的文件进行附加引用。
    • 可以制作图像的 JPEG 表示,但是当磁盘上的文件 JPEG 时,这似乎相当浪费。
    猜你喜欢
    • 2020-04-16
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 2015-01-19
    • 2022-10-13
    相关资源
    最近更新 更多