You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.5 KiB
79 lines
3.5 KiB
diff -Nru a/include/TextReader.h b/include/TextReader.h
|
|
--- a/include/TextReader.h 2018-09-22 21:47:46.000000000 +0200
|
|
+++ b/include/TextReader.h 2018-09-23 16:17:21.212888285 +0200
|
|
@@ -91,7 +91,7 @@
|
|
string text_color;
|
|
string background_color;
|
|
std::shared_ptr<Magick::Image> image;
|
|
- list<Magick::Drawable> lines;
|
|
+ vector<Magick::Drawable> lines;
|
|
bool is_open;
|
|
GravityType gravity;
|
|
|
|
diff -Nru a/src/Frame.cpp b/src/Frame.cpp
|
|
--- a/src/Frame.cpp 2018-09-22 21:47:46.000000000 +0200
|
|
+++ b/src/Frame.cpp 2018-09-23 16:21:44.921563711 +0200
|
|
@@ -29,6 +29,9 @@
|
|
|
|
using namespace std;
|
|
using namespace openshot;
|
|
+#ifdef USE_IMAGEMAGICK
|
|
+using namespace Magick;
|
|
+#endif
|
|
|
|
// Constructor - blank frame (300x200 blank image, 48kHz audio silence)
|
|
Frame::Frame() : number(1), pixel_ratio(1,1), channels(2), width(1), height(1), color("#000000"),
|
|
@@ -904,7 +907,7 @@
|
|
// Give image a transparent background color
|
|
magick_image->backgroundColor(Magick::Color("none"));
|
|
magick_image->virtualPixelMethod(Magick::TransparentVirtualPixelMethod);
|
|
- magick_image->matte(true);
|
|
+ magick_image->alpha(true);
|
|
|
|
return magick_image;
|
|
}
|
|
@@ -926,13 +929,14 @@
|
|
// Iterate through the pixel packets, and load our own buffer
|
|
// Each color needs to be scaled to 8 bit (using the ImageMagick built-in ScaleQuantumToChar function)
|
|
int numcopied = 0;
|
|
- Magick::PixelPacket *pixels = new_image->getPixels(0,0, new_image->columns(), new_image->rows());
|
|
+ const Quantum *pixels = new_image->getConstPixels(0,0, new_image->columns(), new_image->rows());
|
|
for (int n = 0, i = 0; n < new_image->columns() * new_image->rows(); n += 1, i += 4) {
|
|
- buffer[i+0] = MagickCore::ScaleQuantumToChar((Magick::Quantum) pixels[n].red);
|
|
- buffer[i+1] = MagickCore::ScaleQuantumToChar((Magick::Quantum) pixels[n].green);
|
|
- buffer[i+2] = MagickCore::ScaleQuantumToChar((Magick::Quantum) pixels[n].blue);
|
|
- buffer[i+3] = 255 - MagickCore::ScaleQuantumToChar((Magick::Quantum) pixels[n].opacity);
|
|
+ buffer[i+0] = MagickCore::ScaleQuantumToChar(MagickCore::GetPixelRed(new_image->image(), pixels));
|
|
+ buffer[i+1] = MagickCore::ScaleQuantumToChar(MagickCore::GetPixelGreen(new_image->image(), pixels));
|
|
+ buffer[i+2] = MagickCore::ScaleQuantumToChar(MagickCore::GetPixelBlue(new_image->image(), pixels));
|
|
+ buffer[i+3] = MagickCore::ScaleQuantumToChar(MagickCore::GetPixelAlpha(new_image->image(), pixels));
|
|
numcopied+=4;
|
|
+ pixels += MagickCore::GetPixelChannels(new_image->image());
|
|
}
|
|
|
|
// Create QImage of frame data
|
|
diff -Nru a/src/ImageReader.cpp b/src/ImageReader.cpp
|
|
--- a/src/ImageReader.cpp 2018-09-22 21:47:46.000000000 +0200
|
|
+++ b/src/ImageReader.cpp 2018-09-23 16:22:32.330865516 +0200
|
|
@@ -59,7 +59,7 @@
|
|
|
|
// Give image a transparent background color
|
|
image->backgroundColor(Magick::Color("none"));
|
|
- image->matte(true);
|
|
+ image->alpha(true);
|
|
}
|
|
catch (Magick::Exception e) {
|
|
// raise exception
|
|
diff -Nru a/src/ImageWriter.cpp b/src/ImageWriter.cpp
|
|
--- a/src/ImageWriter.cpp 2018-09-22 21:47:46.000000000 +0200
|
|
+++ b/src/ImageWriter.cpp 2018-09-23 16:22:58.380031419 +0200
|
|
@@ -97,7 +97,7 @@
|
|
std::shared_ptr<Magick::Image> frame_image = frame->GetMagickImage();
|
|
frame_image->magick( info.vcodec );
|
|
frame_image->backgroundColor(Magick::Color("none"));
|
|
- frame_image->matte(true);
|
|
+ frame_image->alpha(true);
|
|
frame_image->quality(image_quality);
|
|
frame_image->animationDelay(info.video_timebase.ToFloat() * 100);
|
|
frame_image->animationIterations(number_of_loops);
|