Author: fschmid
Date: Fri May  1 09:32:39 2015
New Revision: 20043

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=20043
Log:
Fixed Bug #11561: IDML Import : problem with some images

Modified:
    trunk/Scribus/scribus/imagedataloaders/scimgdataloader_pdf.cpp
    trunk/Scribus/scribus/plugins/import/idml/importidml.cpp
    trunk/Scribus/scribus/util_formats.cpp

Modified: trunk/Scribus/scribus/imagedataloaders/scimgdataloader_pdf.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=20043&path=/trunk/Scribus/scribus/imagedataloaders/scimgdataloader_pdf.cpp
==============================================================================
--- trunk/Scribus/scribus/imagedataloaders/scimgdataloader_pdf.cpp (original)
+++ trunk/Scribus/scribus/imagedataloaders/scimgdataloader_pdf.cpp Fri May  1 
09:32:39 2015
@@ -75,7 +75,7 @@
        args.append("-sOutputFile="+tmpFile);
        args.append("-dFirstPage=" + QString::number(qMax(1, page)));
        args.append("-dLastPage=" + QString::number(qMax(1, page)));
-       args.append("-dUseCropBox");
+       args.append("-dUseArtBox");
        args.append(picFile);
 //     qDebug() << "scimgdataloader_pdf:" << args;
        int retg = callGS(args);
@@ -129,7 +129,7 @@
        args.append("-sOutputFile="+tmpFile);
        args.append("-dFirstPage=" + QString::number(qMax(1, page)));
        args.append("-dLastPage=" + QString::number(qMax(1, page)));
-       args.append("-dUseCropBox");
+       args.append("-dUseArtBox");
 //     args.append("\""+picFile+"\"");
        args.append(picFile);
 //     qDebug() << "scimgdataloader_pdf(alpha):" << args;

Modified: trunk/Scribus/scribus/plugins/import/idml/importidml.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=20043&path=/trunk/Scribus/scribus/plugins/import/idml/importidml.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/import/idml/importidml.cpp (original)
+++ trunk/Scribus/scribus/plugins/import/idml/importidml.cpp Fri May  1 
09:32:39 2015
@@ -1863,6 +1863,8 @@
        QByteArray imageData = "";
        QString imageFileName = "";
        QTransform imageTransform;
+       double imageDX = 0;
+       double imageDY = 0;
        QString storyForPath = "";
        int pathTextType = 0;
        double pathTextStart = 0;
@@ -1990,6 +1992,10 @@
                {
                        if (ite.hasAttribute("FittingOnEmptyFrame"))
                                imageFit = ite.attribute("FittingOnEmptyFrame");
+                       if (ite.hasAttribute("LeftCrop"))
+                               imageDX = ite.attribute("LeftCrop").toDouble();
+                       if (ite.hasAttribute("TopCrop"))
+                               imageDY = ite.attribute("TopCrop").toDouble();
                }
                else if (ite.tagName() == "TransparencySetting")
                {
@@ -2066,7 +2072,7 @@
                        ScTextStream list(&imageTrans, QIODevice::ReadOnly);
                        double a, b, c, d, e, f;
                        list >> a >> b >> c >> d >> e >> f;
-                       imageTransform = QTransform(a, b, c, d, e, f);
+                       imageTransform = QTransform(a, b, c, d, e, f) * 
transformation;
                        for(QDomNode itp = ite.firstChild(); !itp.isNull(); itp 
= itp.nextSibling() )
                        {
                                QDomElement itpg = itp.toElement();
@@ -2605,8 +2611,8 @@
                                                                
item->AspectRatio = false;
                                                        }
                                                        
m_Doc->loadPict(fileName, item);
-                                                       
item->setImageXYOffset(dxi - grOffset.x(), dyi - grOffset.y());
                                                        
item->setImageXYScale(scXi / item->pixm.imgInfo.xres * 72, scYi / 
item->pixm.imgInfo.xres * 72);
+                                                       
item->setImageXYOffset(-imageDX * scXi / item->imageXScale(), -imageDY * scXi / 
item->imageYScale());
                                                        
item->setImageRotation(-roti);
                                                        item->AdjustPictScale();
                                                }
@@ -2641,7 +2647,7 @@
                                        }
                                        
m_Doc->loadPict(QUrl::fromPercentEncoding(fileName), item);
                                        item->setImageXYScale(scXi / 
item->pixm.imgInfo.xres * 72, scYi / item->pixm.imgInfo.xres * 72);
-                                       item->setImageXYOffset((dxi - 
grOffset.x()) / item->imageXScale(), (dyi - grOffset.y()) / 
item->imageYScale());
+                                       item->setImageXYOffset(-imageDX * scXi 
/ item->imageXScale(), -imageDY * scXi / item->imageYScale());
                                        item->setImageRotation(-roti);
                                        if (imageFit != "None")
                                                item->AdjustPictScale();

Modified: trunk/Scribus/scribus/util_formats.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=20043&path=/trunk/Scribus/scribus/util_formats.cpp
==============================================================================
--- trunk/Scribus/scribus/util_formats.cpp (original)
+++ trunk/Scribus/scribus/util_formats.cpp Fri May  1 09:32:39 2015
@@ -321,10 +321,10 @@
 
 bool extensionIndicatesPDF(const QString &ext)
 {
-//     QStringList strl;
-//     strl << "pdf";
-//     return strl.contains(ext, Qt::CaseInsensitive);
-       return (QString::compare("pdf", ext, Qt::CaseInsensitive) == 0);
+       QStringList strl;
+       strl << "ai" << "pdf";
+       return strl.contains(ext, Qt::CaseInsensitive);
+//     return (QString::compare("pdf", ext, Qt::CaseInsensitive) == 0);
 }
 
 bool extensionIndicatesEPS(const QString &ext)


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to