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(), |