*/
-#include <Magick++.h>
#include "magick_image_proxy.h"
#include "cross.h"
#include "exceptions.h"
#include "dcpomatic_socket.h"
#include "image.h"
#include "compose.hpp"
+#include <Magick++.h>
+#include <libxml++/libxml++.h>
+#include <iostream>
#include "i18n.h"
MagickImageProxy::MagickImageProxy (boost::filesystem::path path)
{
/* Read the file into a Blob */
-
+
boost::uintmax_t const size = boost::filesystem::file_size (path);
FILE* f = fopen_boost (path, "rb");
if (!f) {
throw OpenFileError (path);
}
-
+
uint8_t* data = new uint8_t[size];
if (fread (data, 1, size, f) != size) {
delete[] data;
throw ReadFileError (path);
}
-
+
fclose (f);
_blob.update (data, size);
delete[] data;
MagickImageProxy::image (optional<dcp::NoteHandler>) const
{
boost::mutex::scoped_lock lm (_mutex);
-
+
if (_image) {
return _image;
}
using namespace MagickCore;
#else
using namespace MagickLib;
-#endif
+#endif
magick_image->write (0, i, size.width, 1, "RGB", CharPixel, p);
p += _image->stride()[0];
}
if (_blob.length() != mp->_blob.length()) {
return false;
}
-
+
return memcmp (_blob.data(), mp->_blob.data(), _blob.length()) == 0;
}