Fix clipping for vector formats and when exporting from command line

This amends ea81faa9 that only took into account the postscript format
and did not consider that without GUI an image is not available even if
if it is actually cached. In this case we load the image for obtaining
its dimensions in order to correct the clipping bounding box.
This commit is contained in:
Enrico Forestieri 2020-09-25 21:25:40 +02:00
parent 155c779432
commit b561dfaf2e
2 changed files with 12 additions and 2 deletions

View File

@ -93,6 +93,7 @@ TODO
#include "support/Systemcall.h"
#include <QProcess>
#include <QtGui/QImage>
#include <algorithm>
#include <sstream>
@ -320,13 +321,13 @@ void InsetGraphics::outBoundingBox(graphics::BoundingBox & bbox) const
FileName const file(params().filename.absFileName());
// No correction is necessary for a postscript image
// No correction is necessary for a vector image
bool const zipped = theFormats().isZippedFile(file);
FileName const unzipped_file = zipped ? unzipFile(file) : file;
string const format = theFormats().getFormatFromFile(unzipped_file);
if (zipped)
unzipped_file.removeFile();
if (Formats::isPostScriptFileFormat(format))
if (theFormats().getFormat(format)->vectorFormat())
return;
// Get the actual image dimensions in pixels
@ -340,6 +341,12 @@ void InsetGraphics::outBoundingBox(graphics::BoundingBox & bbox) const
height = image->height();
}
}
// Even if cached, the image is not loaded without GUI
if (width == 0 && height == 0) {
QImage image(toqstr(file.absFileName()));
width = image.width();
height = image.height();
}
if (width == 0 || height == 0)
return;

View File

@ -70,6 +70,9 @@ What's new
- Fix output of titles in branches and other insets (follow-up to bug 11787).
- Fix clipping of vector images and when exporting from command line
(follow-up to bug 11180).
* USER INTERFACE