Add backwards-compatible Imagemagick 7 support (#252)

* Add ImageMagick 7 compatibility

A new header, `imclude/MagickUtilities.h`, is created to hold the
compatibility `#define`s.

The image-conversion code in `src/Frame.cpp` received the only
major changes — instead of doing the export by hand (and having
to account for changes in the underlying API), it uses the
`MagickCore::ExportImagePixels()` function which does basically
the same work, but accounts for all of the API changes for us.
The API of that function is _unchanged_ from IM6 to IM7.

TODO: `MagickCore::ExportImagePixels()` will return an `exception`
struct if it encounters any problems. Currently the code ignores
that, which it should not.

* Add ImageMagick 7 compatibility

A new header, `imclude/MagickUtilities.h`, is created to hold the
compatibility `#define`s.

The image-conversion code in `src/Frame.cpp` received the only
major changes — instead of doing the export by hand (and having
to account for changes in the underlying API), it uses the
`MagickCore::ExportImagePixels()` function which does basically
the same work, but accounts for all of the API changes for us.
The API of that function is _unchanged_ from IM6 to IM7.

TODO: `MagickCore::ExportImagePixels()` will return an `exception`
struct if it encounters any problems. Currently the code ignores
that, which it should not.

Thanks @ferdnyc
This commit is contained in:
Frank Dana
2019-06-21 01:07:49 -04:00
committed by Jonathan Thomas
parent faa3a34420
commit a47d5b58fd
11 changed files with 112 additions and 36 deletions

View File

@@ -25,6 +25,9 @@
* along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>.
*/
// Require ImageMagick support
#ifdef USE_IMAGEMAGICK
#include "../include/TextReader.h"
using namespace openshot;
@@ -258,3 +261,5 @@ void TextReader::SetJsonValue(Json::Value root) {
Open();
}
}
#endif //USE_IMAGEMAGICK