diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-10-26 12:27:05 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2013-10-26 12:27:05 +0000 |
| commit | 9b2d4924cf0f30df461236c7850c8e38480d8ad3 (patch) | |
| tree | 560ebd4e32dc9c9645287e8f5a8470bde91d7817 /src/extension/internal/image-resolution.cpp | |
| parent | Update to trunk (diff) | |
| parent | Fix memleak in reference counting introduced in r12532. (diff) | |
| download | inkscape-9b2d4924cf0f30df461236c7850c8e38480d8ad3.tar.gz inkscape-9b2d4924cf0f30df461236c7850c8e38480d8ad3.zip | |
Update to trunk
(bzr r11950.1.189)
Diffstat (limited to 'src/extension/internal/image-resolution.cpp')
| -rw-r--r-- | src/extension/internal/image-resolution.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/extension/internal/image-resolution.cpp b/src/extension/internal/image-resolution.cpp index b38b0ddc7..865e86698 100644 --- a/src/extension/internal/image-resolution.cpp +++ b/src/extension/internal/image-resolution.cpp @@ -342,9 +342,16 @@ void ImageResolution::readmagick(char const *fn) { image.read(fn); } catch (...) {} Magick::Geometry geo = image.density(); + std::string type = image.magick(); + + if (type == "PNG") { // PNG only supports pixelspercentimeter + x_ = Inkscape::Util::Quantity::convert((double)geo.width(), "in", "cm"); + y_ = Inkscape::Util::Quantity::convert((double)geo.height(), "in", "cm"); + } else { + x_ = (double)geo.width(); + y_ = (double)geo.height(); + } - x_ = Inkscape::Util::Quantity::convert((double)geo.width(), "pt", "px"); - y_ = Inkscape::Util::Quantity::convert((double)geo.height(), "pt", "px"); ok_ = true; } |
