Я отправляю несколько 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
. без дискового пространства.