Author: jghali
Date: Wed Oct 31 23:30:43 2018
New Revision: 22742

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22742
Log:
#15455: Add transparency to image exporter in scripter <Gibbz>

Modified:
    trunk/Scribus/doc/en/scripterapi-ImageExport.html
    trunk/Scribus/doc/fr/scripterapi-ImageExport.html
    trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.cpp
    trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.h

Modified: trunk/Scribus/doc/en/scripterapi-ImageExport.html
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22742&path=/trunk/Scribus/doc/en/scripterapi-ImageExport.html
==============================================================================
--- trunk/Scribus/doc/en/scripterapi-ImageExport.html   (original)
+++ trunk/Scribus/doc/en/scripterapi-ImageExport.html   Wed Oct 31 23:30:43 2018
@@ -22,11 +22,13 @@
 i.scale = 200 # I want to have 200%<br/>
 i.name = '/home/subik/test.png'<br/>
 i.save()<br/>
+</code>
 </p>
 <p>Last two lines should be replaced with: 
<code>i.saveAs('/home/subik/test.png')</code></p>
 
-<h3>Methods defined here</h3>
+<hr />
 
+<p>Methods defined here</p>
 <dl>
        <dt><strong>__init__(...)</strong></strong></dt>
        <dd><p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
signature</p></dd>
@@ -40,29 +42,34 @@
        <p>Saves image as 'filename'.</p></dd>
 </dl>
 
-<h3>Data and other attributes defined here</h3>
+<hr />
 
+<p>Data and other attributes defined here</p>
 <dl>
-       <dt><strong>__new__ = &lt;built-in method __new__ of type 
object&gt;</strong></dt>
+       <dt><strong>__new__</strong> = &lt;built-in method __new__ of type 
object&gt;</dt>
        <dd><p>T.__new__(S, ...) -> a new object with type S, a subtype of 
T</p></dd>
 
-       <dt><strong>allTypes = &lt;attribute 'allTypes' of 'ImageExport' 
objects&gt;</strong></dt>
+       <dt><strong>allTypes</strong> = &lt;attribute 'allTypes' of 
'ImageExport' objects&gt;</dt>
        <dd><p>Available types. Read only list of strings.</p></dd>
 
-       <dt><strong>dpi = &lt;member 'dpi' of 'ImageExport' 
objects&gt;</strong></dt>
+       <dt><strong>dpi</strong> = &lt;member 'dpi' of 'ImageExport' 
objects&gt;</dt>
        <dd><p>This value will be used for export as DPI. Read/write 
integer.</p></dd>
 
-       <dt><strong>name = &lt;attribute 'name' of 'ImageExport' 
objects&gt;</strong></dt>
+       <dt><strong>name</strong> = &lt;attribute 'name' of 'ImageExport' 
objects&gt;</dt>
        <dd><p>Filename of the image. With or without path. Read/write 
string.</p></dd>
 
-       <dt><strong>quality = &lt;member 'quality' of 'ImageExport' 
objects&gt;</strong></dt>
+       <dt><strong>quality</strong> = &lt;member 'quality' of 'ImageExport' 
objects&gt;</dt>
        <dd><p>Quality/compression: minimum 1 (poor), maximum 100 (qaulity). 
Read/write integer.</p></dd>
 
-       <dt><strong>scale = &lt;member 'scale' of 'ImageExport' 
objects&gt;</strong></dt>
-       <dd><p>This is the scaling of the image. 100 = 100% etc. Read/write 
iteger.</p></dd>
+       <dt><strong>scale</strong> = &lt;member 'scale' of 'ImageExport' 
objects&gt;</dt>
+       <dd><p>This is the scaling of the image. 100 = 100% etc. Read/write 
integer.</p></dd>
+       
+       <dt><strong>transparentBkgnd</strong> = &lt;member 'transparentBkgnd' 
of 'ImageExport' objects&gt;</dt>
+       <dd><p>This value determines if background is drawn as transparent or 
not. Read/write integer.</p></dd>
 
-       <dt><strong>type = &lt;attribute 'type' of 'ImageExport' 
objects&gt;</strong></dt>
+       <dt><strong>type</strong> = &lt;attribute 'type' of 'ImageExport' 
objects&gt;</dt>
        <dd><p>Bitmap type. See allTypes list for more info. Read/write 
string.</p></dd>
+</dl>
 
 </body>
 </html>

Modified: trunk/Scribus/doc/fr/scripterapi-ImageExport.html
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22742&path=/trunk/Scribus/doc/fr/scripterapi-ImageExport.html
==============================================================================
--- trunk/Scribus/doc/fr/scripterapi-ImageExport.html   (original)
+++ trunk/Scribus/doc/fr/scripterapi-ImageExport.html   Wed Oct 31 23:30:43 2018
@@ -3,6 +3,11 @@
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <title>Python : classe ImageExport</title>
 </head>
+
+<style>
+@import "manual.css";
+</style>
+
 <body>
 <h2>Python : classe ImageExport</h2>
 <p>
@@ -20,12 +25,14 @@
 i.scale = 200 # Je veux obtenir 200%<br/>
 i.name = '/home/subik/test.png'<br/>
 i.save()<br/>
+</code>
 </p>
-<p>Les deux derni&egrave;res lignes devrait &ecirc;tre remplac&eacute;es par 
ceci :
+<p>Les deux derni&egrave;res lignes pourraient &ecirc;tre remplac&eacute;es 
par ceci :
 <code>i.saveAs('/home/subik/test.png')</code></p>
 
-<h3>M&eacute;thodes d&eacute;finies ici</h3>
+<hr />
 
+<p>M&eacute;thodes d&eacute;finies par la classe</p>
 <dl>
        <dt><strong>__init__(...)</strong></strong></dt>
        <dd><p>x.__init__(...) initialise x; voir x.__class__.__doc__ pour la 
signature</p></dd>
@@ -39,28 +46,32 @@
        <p>Enregistre l'image sous le nouveau nom "nomFichier".</p></dd>
 </dl>
 
-<h3>Donn&eacute;es et autres attributs d&eacute;finis ici</h3>
+<hr />
 
+<p>Donn&eacute;es et attributs d&eacute;finis par la classe</p>
 <dl>
-       <dt><strong>__new__ = &lt;m&eacute;thode int&eacute;gr&eacute;e __new__ 
de type objet&gt;</strong></dt>
+       <dt><strong>__new__</strong> = &lt;m&eacute;thode 
int&eacute;gr&eacute;e __new__ de type objet&gt;/dt>
        <dd><p>T.__new__(S, ...) -> un nouvel objet de type S, un sous-type de 
T</p></dd>
 
-       <dt><strong>allTypes = &lt;attribut 'allTypes' des objets 
'ImageExport'&gt;</strong></dt>
+       <dt><strong>allTypes</strong> = &lt;attribut 'allTypes' de la classe 
'ImageExport'&gt;</dt>
        <dd><p>Types disponibles. Liste de cha&icirc;nes en lecture 
seule.</p></dd>
 
-       <dt><strong>dpi = &lt;membre 'dpi' of 'ImageExport' 
objects&gt;</strong></dt>
-       <dd><p>Cette valeur sera utilis&eacute;e pour export&eacute;e en DPI. 
Nombre entier en lecture/&eacute;criture.</p></dd>
+       <dt><strong>dpi</strong> = &lt;membre 'dpi' de la classe 
'ImageExport'&gt;</dt>
+       <dd><p>Cette valeur sera utilis&eacute;e en tant que r&eacute;solution 
d'export de l'image. Nombre entier en lecture/&eacute;criture.</p></dd>
 
-       <dt><strong>name = &lt;attribut 'name' des objets 
'ImageExport'&gt;</strong></dt>
+       <dt><strong>name</strong> = &lt;attribut 'name' de la classe 
'ImageExport'&gt;</dt>
        <dd><p>Nom du fichier associ&eacute; &agrave; l'image. Avec ou sans 
chemin. Cha&icirc;ne en lecture/&eacute;criture.</p></dd>
 
-       <dt><strong>quality = &lt;membre 'quality' of 'ImageExport' 
objects&gt;</strong></dt>
+       <dt><strong>quality</strong> = &lt;membre 'quality' de la classe 
'ImageExport'&gt;</dt>
        <dd><p>Qualit&eacute;/compression: minimum 1 (m&eacute;diocre), maximum 
100 (qualit&eacute;). Nombre entier en lecture/&eacute;criture.</p></dd>
 
-       <dt><strong>scale = &lt;membre 'scale' of 'ImageExport' 
objects&gt;</strong></dt>
+       <dt><strong>scale</strong> = &lt;membre 'scale' de la classe 
'ImageExport'&gt;</dt>
        <dd><p>Redimensionnement de l'image. 100 = 100% etc. Nombre entier en 
lecture/&eacute;criture.</p></dd>
 
-       <dt><strong>type = &lt;attribut 'type' des objets 
'ImageExport'&gt;</strong></dt>
+       <dt><strong>transparentBkgnd</strong> = &lt;membre 'transparentBkgnd' 
de la classe 'ImageExport'&gt;</dt>
+       <dd><p>D&eacute;termine si le fond de l'image est transparent ou non. 
Nombre entier en lecture/&eacute;criture.</p></dd>
+       
+       <dt><strong>type</strong> = &lt;attribut 'type' de la classe 
'ImageExport'&gt;</dt>
        <dd><p>Type bitmap. Voir la liste allTypes pour plus d'informations. 
Cha&icirc;ne en lecture/&eacute;criture.</p></dd>
 
 </body>

Modified: trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22742&path=/trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.cpp       
(original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.cpp       Wed Oct 
31 23:30:43 2018
@@ -26,6 +26,7 @@
        int dpi; // DPI of the bitmap
        int scale; // how is bitmap scaled 100 = 100%
        int quality; // quality/compression <1; 100>
+       int transparentBkgnd; // background transparency
 } ImageExport;
 
 static void ImageExport_dealloc(ImageExport* self)
@@ -50,6 +51,7 @@
                self->dpi = 72;
                self->scale = 100;
                self->quality = 100;
+               self->transparentBkgnd = 0;
        }
        return (PyObject *) self;
 }
@@ -63,6 +65,7 @@
        {const_cast<char*>("dpi"), T_INT, offsetof(ImageExport, dpi), 0, 
imgexp_dpi__doc__},
        {const_cast<char*>("scale"), T_INT, offsetof(ImageExport, scale), 0, 
imgexp_scale__doc__},
        {const_cast<char*>("quality"), T_INT, offsetof(ImageExport, quality), 
0, imgexp_quality__doc__},
+       {const_cast<char*>("transparentBkgnd"), T_INT, offsetof(ImageExport, 
transparentBkgnd), 0, imgexp_transparentBkgnd__doc__},
        {nullptr, 0, 0, 0, nullptr} // sentinel
 };
 
@@ -150,7 +153,10 @@
        * portrait and user defined sizes.
        */
        double pixmapSize = (doc->pageHeight() > doc->pageWidth()) ? 
doc->pageHeight() : doc->pageWidth();
-       QImage im = view->PageToPixmap(doc->currentPage()->pageNr(), 
qRound(pixmapSize * self->scale * (self->dpi / 72.0) / 100.0), 
Pixmap_DrawBackground);
+       PageToPixmapFlags flags = Pixmap_DrawBackground;
+       if (self->transparentBkgnd)
+               flags &= ~Pixmap_DrawBackground;
+       QImage im = view->PageToPixmap(doc->currentPage()->pageNr(), 
qRound(pixmapSize * self->scale * (self->dpi / 72.0) / 100.0), flags);
        int dpi = qRound(100.0 / 2.54 * self->dpi);
        im.setDotsPerMeterY(dpi);
        im.setDotsPerMeterX(dpi);
@@ -181,7 +187,10 @@
        * portrait and user defined sizes.
        */
        double pixmapSize = (doc->pageHeight() > doc->pageWidth()) ? 
doc->pageHeight() : doc->pageWidth();
-       QImage im = view->PageToPixmap(doc->currentPage()->pageNr(), 
qRound(pixmapSize * self->scale * (self->dpi / 72.0) / 100.0), 
Pixmap_DrawBackground);
+       PageToPixmapFlags flags = Pixmap_DrawBackground;
+       if (self->transparentBkgnd)
+               flags &= ~Pixmap_DrawBackground;
+       QImage im = view->PageToPixmap(doc->currentPage()->pageNr(), 
qRound(pixmapSize * self->scale * (self->dpi / 72.0) / 100.0), flags);
        int dpi = qRound(100.0 / 2.54 * self->dpi);
        im.setDotsPerMeterY(dpi);
        im.setDotsPerMeterX(dpi);

Modified: trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22742&path=/trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.h
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.h (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/objimageexport.h Wed Oct 31 
23:30:43 2018
@@ -28,12 +28,13 @@
 two last lines should be replaced with:\n\
 i.saveAs('/home/subik/test.png')");
 
+PyDoc_STRVAR(imgexp_alltypes__doc__, "Available image types. Read only list of 
strings.");
 PyDoc_STRVAR(imgexp_dpi__doc__, "This value will be used for export as DPI. 
Read/write integer.");
+PyDoc_STRVAR(imgexp_filename__doc__, "Filename of the image. With or without 
path. Read/write string.");
+PyDoc_STRVAR(imgexp_quality__doc__, "Quality/compression: minimum 1 (poor), 
maximum 100 (qaulity). Read/write integer.");
 PyDoc_STRVAR(imgexp_scale__doc__, "This is the scaling of the image. 100 = 
100% etc. Read/write iteger.");
-PyDoc_STRVAR(imgexp_quality__doc__, "Quality/compression: minimum 1 (poor), 
maximum 100 (qaulity). Read/write integer.");
-PyDoc_STRVAR(imgexp_filename__doc__, "Filename of the image. With or without 
path. Read/write string.");
+PyDoc_STRVAR(imgexp_transparentBkgnd__doc__, "Enable or disable transparent 
background.");
 PyDoc_STRVAR(imgexp_type__doc__, "Bitmap type. See allTypes list for more 
info. Read/write string.");
-PyDoc_STRVAR(imgexp_alltypes__doc__, "Available types. Read only list of 
strings.");
 
 PyDoc_STRVAR(imgexp_save__doc__, "save() -> boolean\n\nSaves image under 
previously set 'name'.");
 PyDoc_STRVAR(imgexp_saveas__doc__, "saveAs('filename') -> boolean\n\nSaves 
image as 'filename'.");


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

Reply via email to