mirror of
https://bitbucket.org/smil3y/kdelibs.git
synced 2025-02-23 18:32:49 +00:00
kimgio: simplify data copying in ico plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
2ded74ccc3
commit
1b0dcc4f10
2 changed files with 6 additions and 16 deletions
|
@ -240,17 +240,14 @@ bool ICOHandler::read(QImage *image)
|
|||
|
||||
switch (bmpbpp) {
|
||||
case 32: {
|
||||
QRgb* bmpimagebits = reinterpret_cast<QRgb*>(bmpimage.bits());
|
||||
for (uint bi = 0; bi < bmpimagesize && bi < imageboundary; bi += 4) {
|
||||
*bmpimagebits = qRgba(imagebytes.at(bi + 2), imagebytes.at(bi + 1), imagebytes.at(bi), imagebytes.at(bi + 3));
|
||||
bmpimagebits++;
|
||||
}
|
||||
char* bmpimagebits = reinterpret_cast<char*>(bmpimage.bits());
|
||||
::memcpy(bmpimagebits, imagebytes.constData(), imageboundary * sizeof(char));
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
QRgb* bmpimagebits = reinterpret_cast<QRgb*>(bmpimage.bits());
|
||||
for (uint bi = 0; bi < bmpimagesize && bi < imageboundary; bi += 3) {
|
||||
*bmpimagebits = qRgb(imagebytes.at(bi + 2), imagebytes.at(bi + 1), imagebytes.at(bi));
|
||||
*bmpimagebits = qRgba(imagebytes.at(bi + 2), imagebytes.at(bi + 1), imagebytes.at(bi), 0xff);
|
||||
bmpimagebits++;
|
||||
}
|
||||
break;
|
||||
|
@ -343,15 +340,8 @@ bool ICOHandler::write(const QImage &image)
|
|||
datastream << bmpncolors;
|
||||
datastream << bmpnimportantcolors;
|
||||
|
||||
const QRgb* bmpimagebits = reinterpret_cast<const QRgb*>(bmpimage.constBits());
|
||||
for (uint bi = 0; bi < bmpimagesize; bi += 4) {
|
||||
const uchar bmpb = qBlue(*bmpimagebits);
|
||||
const uchar bmpg = qGreen(*bmpimagebits);
|
||||
const uchar bmpr = qRed(*bmpimagebits);
|
||||
const uchar bmpa = qAlpha(*bmpimagebits);
|
||||
datastream << bmpb << bmpg << bmpr << bmpa;
|
||||
bmpimagebits++;
|
||||
}
|
||||
const char* bmpimagebits = reinterpret_cast<const char*>(bmpimage.constBits());
|
||||
datastream.writeRawData(bmpimagebits, bmpimagesize);
|
||||
|
||||
return (datastream.status() == QDataStream::Ok);
|
||||
}
|
||||
|
|
|
@ -183,7 +183,7 @@ bool JP2Handler::read(QImage *image)
|
|||
|
||||
*image = QImage(ojimage->comps->w, ojimage->comps->h, QImage::Format_ARGB32);
|
||||
if (Q_UNLIKELY(image->isNull())) {
|
||||
kWarning() << "Could not create image QImage";
|
||||
kWarning() << "Could not create image";
|
||||
opj_destroy_codec(ojcodec);
|
||||
opj_stream_destroy(ojstream);
|
||||
opj_image_destroy(ojimage);
|
||||
|
|
Loading…
Add table
Reference in a new issue