How to get the bitmap from an Qimage



  • Hi guys,

    I need to have the array with the bits from a QImage. I thougth I could do something with the
    @
    QImage myImage;
    myImage.load("clouds.jpg");
    QByteArray ba;
    QBuffer buffer(&ba);
    buffer.open(QIODevice::WriteOnly);
    myImage.save(&buffer, "PNG"); // writes image into ba in PNG format@

    I need that array because then I can have a second array from an image to transform the 2 images and show them back on the screen.

    For example got a background image + a foreground image and then I could merge them that you see the background image only where the foreground image has nothing to show.

    Kind regards,



  • QImage in memory is practically a two-dimensional array of pixels. See the pixel() and setPixel() methods. The only property of a pixel is a color value.



  • Oké thanks. I tried the pixel method it gives me this 4293852159 color value back, but I can't do any methods to get the rgb value or the hex value. Do I need to convert this to a QColor first or how?



  • QRgb is a 32bit (I think) integer value holding the 4 color elements including alpha. You can manipulate the integer values if you are into such things, or load it into a QColor (setRgba()).



  • Hi,

    If I understand you right, you want to composite images. You can use "QPainter::setCompositionMode":http://developer.qt.nokia.com/doc/qt-4.8/qpainter.html#setCompositionMode


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.