【发布时间】:2011-04-29 06:42:37
【问题描述】:
我正在通过网络发送几个MessagePacket 和ScreenPacket。但是所有这些数据包后面都跟着一个CommonHeaderPacket,它告诉了即将到来的数据包的类型、大小、id、时间和校验和。所以我需要在发送之前知道数据包的大小。ScreenPacket 有一个_image:QImage (jpeg),它也将通过网络进行压缩和序列化。我可以通过QImageWriter 做到这一点,同时通过套接字发送它。但在发送ScreenPacket 之前,我需要发送包含size 的CommonHeaderPacket。那我怎么能提前知道尺寸呢?因为 QImage 没有 setQuality() 或 setCompression() 方法。
我不想将它写在临时流中以提前知道大小。那么还有什么方法可以提前知道大小。
总结
QImage 没有 setCompression 或 setQuality 方法。 QImageWriter 有。但我需要在写作之前知道 ByteSize。字节大小取决于压缩和质量。
例如我需要将QImage 保存到另一个Persistent storable Object 中,并在Quality、Compression 中进行更改。没有磁盘开销。
【问题讨论】:
标签: qt4 image-compression