[Kst] [Bug 139495] wrong BoundingBox values in EPS output
Andrew Walker
arwalker at sumusltd.com
Thu Jan 4 02:32:25 CET 2007
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=139495
arwalker sumusltd com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From arwalker sumusltd com 2007-01-04 02:32 -------
SVN commit 619695 by arwalker:
BUG:139495 Set the BoundingBox values correctly for an EPS file
M +17 -4 kstviewwindow.cpp
--- trunk/extragear/graphics/kst/src/libkstapp/kstviewwindow.cpp #619694:619695
@ -234,7 +234,9 @
if (!view()->children().isEmpty()) {
QString filenameNew;
QString filenameNewEps;
-
+ int right;
+ int bottom;
+
{
QPrinter printer(QPrinter::HighResolution);
QString dotFormat = QString(".eps");
@ -251,13 +253,16 @
if ( size.height() / 8 > resolution ) {
resolution = size.height() / 8;
}
-
+ right = ( 72 * size.height() ) / resolution;
+ bottom = ( 72 * size.width() ) / resolution;
+
+ printer.setMargins(0, 0, 0, 0);
printer.setResolution(resolution);
printer.setPageSize(QPrinter::Letter);
printer.setOrientation(QPrinter::Landscape);
printer.setOutputToFile(true);
printer.setOutputFileName(filenameNew);
-
+
KstPainter paint(KstPainter::P_PRINT);
paint.begin(&printer);
QPaintDeviceMetrics metrics(&printer);
@ -279,7 +284,7 @
if (fileEPS.open(IO_WriteOnly | IO_Truncate)) {
QTextStream streamPS(&filePS);
QTextStream streamEPS(&fileEPS);
-
+
line = streamPS.readLine();
if (!line.isNull()) {
if (line.left(11) == "%!PS-Adobe-") {
@ -287,6 +292,14 @
// we have a ps file, so do the conversion...
//
streamEPS << "%!PS-Adobe-2.0 EPSF-2.0\n";
+
+ line = streamPS.readLine();
+ if (!line.isNull() && line.left(14) == "%%BoundingBox:") {
+ streamEPS << "%%BoundingBox: 0 0 " << right << " " << bottom << "\n";
+ } else {
+ streamEPS << line << "\n";
+ }
+
while (!streamPS.atEnd()) {
line = streamPS.readLine();
streamEPS << line << "\n";
More information about the Kst
mailing list