28QDBusArgument&
operator <<(QDBusArgument& argument,
const QImage& image)
32 argument.beginStructure();
33 argument << 0 << 0 << 0 <<
false << 0 << 0 << QByteArray();
34 argument.endStructure();
38 QImage scaled = image.scaledToHeight(100, Qt::SmoothTransformation);
39 scaled = scaled.convertToFormat(QImage::Format_ARGB32);
41#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
43 QImage i = scaled.rgbSwapped();
46 QImage i(scaled.size(), scaled.format());
47 for (
int y = 0; y < i.height(); ++y)
49 QRgb* p = (QRgb*)scaled.scanLine(y);
50 QRgb* q = (QRgb*)i.scanLine(y);
51 QRgb* end = p + scaled.width();
54 *q = qRgba(qGreen(*p), qBlue(*p), qAlpha(*p), qRed(*p));
61 argument.beginStructure();
62 argument << i.width();
63 argument << i.height();
64 argument << static_cast<int>(i.bytesPerLine());
65 argument << i.hasAlphaChannel();
66 int channels = i.isGrayscale() ? 1 : (i.hasAlphaChannel() ? 4 : 3);
67 argument << i.depth() / channels;
69 argument << QByteArray(reinterpret_cast<const char*>(i.bits()), i.sizeInBytes());
70 argument.endStructure();
QDBusArgument & operator<<(QDBusArgument &argument, const QImage &image)
Definition dbusconverters.h:28
const QDBusArgument & operator>>(const QDBusArgument &argument, QImage &)
Definition dbusconverters.h:78