bool QGLPixmapData::fromData(const uchar *buffer, uint len, const char *format, Qt::ImageConversionFlags flags) { bool alpha; const char *buf = reinterpret_cast<const char *>(buffer); if (m_texture.canBindCompressedTexture(buf, int(len), format, &alpha)) { resize(0, 0); QGLShareContextScope ctx(qt_gl_share_context()); QSize size = m_texture.bindCompressedTexture(buf, int(len), format); if (!size.isEmpty()) { w = size.width(); h = size.height(); is_null = false; d = 32; m_hasAlpha = alpha; m_source = QImage(); m_dirty = isValid(); return true; } } QByteArray a = QByteArray::fromRawData(reinterpret_cast<const char *>(buffer), len); QBuffer b(&a); b.open(QIODevice::ReadOnly); QImage image = QImageReader(&b, format).read(); if (image.isNull()) return false; createPixmapForImage(image, flags, true); return !isNull(); }
void QRasterPlatformPixmap::fromImage(const QImage &sourceImage, Qt::ImageConversionFlags flags) { Q_UNUSED(flags); QImage image = sourceImage; createPixmapForImage(image, flags, /* inplace = */false); }
void QVGPixmapData::fromImage(const QImage &image, Qt::ImageConversionFlags flags) { if (image.isNull()) return; QImage img = image; createPixmapForImage(img, flags, false); }
void QGLPixmapData::fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags) { QImage image = imageReader->read(); if (image.isNull()) return; createPixmapForImage(image, flags, true); }
void QRasterPlatformPixmap::fromImageReader(QImageReader *imageReader, Qt::ImageConversionFlags flags) { Q_UNUSED(flags); QImage image = imageReader->read(); if (image.isNull()) return; createPixmapForImage(image, flags, /* inplace = */true); }
bool QVGPixmapData::fromFile(const QString &filename, const char *format, Qt::ImageConversionFlags flags) { QImage image = QImageReader(filename, format).read(); if (image.isNull()) return false; createPixmapForImage(image, flags, true); return !isNull(); }
bool QRasterPlatformPixmap::fromData(const uchar *buffer, uint len, const char *format, Qt::ImageConversionFlags flags) { QByteArray a = QByteArray::fromRawData(reinterpret_cast<const char *>(buffer), len); QBuffer b(&a); b.open(QIODevice::ReadOnly); QImage image = QImageReader(&b, format).read(); if (image.isNull()) return false; createPixmapForImage(image, flags, /* inplace = */true); return !isNull(); }
bool QGLPixmapData::fromFile(const QString &filename, const char *format, Qt::ImageConversionFlags flags) { if (pixelType() == QPixmapData::BitmapType) return QPixmapData::fromFile(filename, format, flags); QFile file(filename); if (file.open(QIODevice::ReadOnly)) { QByteArray data = file.peek(64); bool alpha; if (m_texture.canBindCompressedTexture (data.constData(), data.size(), format, &alpha)) { resize(0, 0); data = file.readAll(); file.close(); QGLShareContextScope ctx(qt_gl_share_context()); QSize size = m_texture.bindCompressedTexture (data.constData(), data.size(), format); if (!size.isEmpty()) { w = size.width(); h = size.height(); is_null = false; d = 32; m_hasAlpha = alpha; m_source = QImage(); m_dirty = isValid(); return true; } return false; } } QImage image = QImageReader(filename, format).read(); if (image.isNull()) return false; createPixmapForImage(image, flags, true); return !isNull(); }
void QGLPixmapData::fromImage(const QImage &image, Qt::ImageConversionFlags flags) { QImage img = image; createPixmapForImage(img, flags, false); }
void QRasterPlatformPixmap::fromImageInPlace(QImage &sourceImage, Qt::ImageConversionFlags flags) { createPixmapForImage(sourceImage, flags, /* inplace = */true); }