Я отправляю несколько MessagePacket
и ScreenPacket
по сети. но за всеми этими пакетами следует CommonHeaderPacket
, который сообщает тип, размер, идентификатор, время и контрольную сумму предстоящего пакета. Поэтому мне нужно знать размер пакета перед отправкой.ScreenPacket
имеет _image:QImage
(jpeg), который также будет сжат и сериализован по сети. Я могу сделать это через QImageWriter
при отправке через сокет. Но перед отправкой ScreenPacket
мне нужно отправить CommonHeaderPacket
, который включает size
. так как я могу знать размер заранее? поскольку QImage не имеет методов setQuality()
или setCompression()
.
Я не хочу писать его во временном потоке, чтобы заранее знать размер. так что еще может быть способ узнать размер заранее.
Резюме
QImage
не имеет setCompression
или setQuality
метода. QImageWriter
есть. Но мне нужно знать ByteSize, прежде чем писать. и размер байта зависит от сжатия и качества.
например. Мне нужно, чтобы QImage
было сохранено в другом Persistent storable Object
с изменением Quality
, Compression
. без накладных расходов на диск.