ImageLoader.cpp
branchv_0
changeset 13 82bb4fe2fd4a
parent 1 fb65455622b9
child 29 dc3c102e1264
equal deleted inserted replaced
12:076e3b2d97ac 13:82bb4fe2fd4a
    23 #include "AllocatedBuffer.h"
    23 #include "AllocatedBuffer.h"
    24 
    24 
    25 ImageLoader::ImageBuffer* ImageLoader::loadImage(const Buffer& input) {
    25 ImageLoader::ImageBuffer* ImageLoader::loadImage(const Buffer& input) {
    26 	Magick::Blob inputBlob(input.getData(), input.getSize());
    26 	Magick::Blob inputBlob(input.getData(), input.getSize());
    27 	Magick::Image image(inputBlob);
    27 	Magick::Image image(inputBlob);
       
    28 	// Magick::Image image("magick:LOGO");
       
    29 	// Magick::Image image("magick:WIZARD");
       
    30 	// Magick::Image image("https://.../remote-image.png");
       
    31 	// Magick::Image image("x:root"); // whole desktop
       
    32 	// Magick::Image image("x:0x6a0001c"); // single window, use e.g. xwininfo
    28 
    33 
    29 	// Magick::PixelPacket* parsedPixels = parsedImage.getPixels(
    34 	// Magick::PixelPacket* parsedPixels = parsedImage.getPixels(
    30 	//     0, 0, parsedImage.size().width(), parsedImage.size().height());
    35 	//     0, 0, parsedImage.size().width(), parsedImage.size().height());
    31 	
    36 	
    32 	Magick::Blob outputBlob;
    37 	Magick::Blob outputBlob;
    33 	image.magick("RGBA");
    38 	image.magick("RGBA");
       
    39 	image.depth(8); // TODO: pass more bits to OpenGL?
    34 	image.write(&outputBlob);
    40 	image.write(&outputBlob);
    35 
    41 
    36 	ImageBuffer* outputBuffer = new ImageBuffer(
    42 	ImageBuffer* outputBuffer = new ImageBuffer(
    37 			(void*) outputBlob.data(),
    43 			(void*) outputBlob.data(),
    38 			outputBlob.length(),
    44 			outputBlob.length(),