问题标签 [uiimagejpegrepresentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
51 浏览

swift - UIImageJPEGRepresentation 生成没有 SOI 标记的 JPEG

我正在使用UIImageJPEGRepresentation(UIImage, 1.0)Swift 版本 4(?) 生成 JPEG 图像数据。

我正在使用第 3 方 JPEG 解码器,但它会抛出一个错误,即找不到 SOI(图像开始)标记。

如何在 Swift(最好)或 Objective-C 中使用 SOI 标记生成格式正确的 JPEG?

这是标准 Swift 中的一个已知问题吗?我应该开始研究第 3 方 JPEG 编码器吗?

0 投票
1 回答
443 浏览

swift - Swift UIImage .jpegData 内存泄漏问题

我有一些代码可以接受 UIImage 并将该图像保存到磁盘。此代码针对多个图像进行迭代。我注意到,每次代码运行时,都会出现内存泄漏,直到视图被删除。

我将问题追踪到以下行: var data = image.jpegData(compressionQuality: 0.8 )

每次调用此行时,都会为压缩图像分配相应的内存量(每次约 10 Mb),并且在视图关闭之前不会释放。我什至还尝试删除任何对数据的使用(即 refcount 应该为 0),但它仍然没有释放内存。

有谁知道这里发生了什么?为什么 jpegData 分配的内存永远不会释放? 探查器上的内存泄漏

代码泄漏

0 投票
0 回答
13 浏览

ios - 图像在未应用压缩的情况下被压缩

let img = UIImage(data: imgData) 当我打印 imgData 它给我下面的结果 - ▿ 10506316 字节

  • 计数:10506316 ▿ 指针:0x00007fb326000000
    • pointerValue : 140407413407744 这是正确的,因为它是 10 mb 图像。但是当我使用 let data = UIImageJPEGRepresentation(img!, 1)再次将此 img 转换为数据 并打印数据时,它给了我以下结果-

打印数据描述:▿可选▿一些:20934049字节-计数:20934049▿指针:0x000000013cd32000-pointerValue:5315436544

怎么变双了??谁能帮我这个?