Get pointer to Magick::Image conversion of a QImage
| 18 | |
| 19 | // Get pointer to Magick::Image conversion of a QImage |
| 20 | std::shared_ptr<Magick::Image> |
| 21 | openshot::QImage2Magick(std::shared_ptr<QImage> image) |
| 22 | { |
| 23 | // Check for blank image |
| 24 | if (!image || image->isNull()) |
| 25 | return nullptr; |
| 26 | |
| 27 | // Get the pixels from the frame image |
| 28 | const QRgb *tmpBits = (const QRgb*)image->constBits(); |
| 29 | |
| 30 | // Create new image object, and fill with pixel data |
| 31 | auto magick_image = std::make_shared<Magick::Image>( |
| 32 | image->width(), image->height(), |
| 33 | "RGBA", Magick::CharPixel, tmpBits); |
| 34 | |
| 35 | // Give image a transparent background color |
| 36 | magick_image->backgroundColor(Magick::Color("none")); |
| 37 | magick_image->virtualPixelMethod( |
| 38 | Magick::TransparentVirtualPixelMethod); |
| 39 | MAGICK_IMAGE_ALPHA(magick_image, true); |
| 40 | |
| 41 | return magick_image; |
| 42 | } |
| 43 | |
| 44 | // Get pointer to QImage conversion of a Magick::Image |
| 45 | std::shared_ptr<QImage> |