| 178 | } |
| 179 | |
| 180 | [[nodiscard]] QByteArray EncodeWebp(QImage image) { |
| 181 | if (image.size() != QSize(kStickerSide, kStickerSide)) { |
| 182 | image = image.scaled( |
| 183 | kStickerSide, |
| 184 | kStickerSide, |
| 185 | Qt::IgnoreAspectRatio, |
| 186 | Qt::SmoothTransformation); |
| 187 | } |
| 188 | if (image.format() != QImage::Format_ARGB32) { |
| 189 | image = image.convertToFormat(QImage::Format_ARGB32); |
| 190 | } |
| 191 | auto bytes = QByteArray(); |
| 192 | auto buffer = QBuffer(&bytes); |
| 193 | buffer.open(QIODevice::WriteOnly); |
| 194 | image.save(&buffer, "WEBP", kWebpQuality); |
| 195 | return bytes; |
| 196 | } |
| 197 | |
| 198 | } // namespace |
| 199 |
no test coverage detected