View Issue Details

IDProjectCategoryView StatusLast Update
0012990ScribusPDFpublic2015-04-10 17:29
Reporterpdaoust Assigned Tofschmid  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.5.0svn 
Target Version1.5.0Fixed in Version1.5.0svn 
Summary0012990: Gradients are being exported with an offset
DescriptionI have some files whose gradients Scribus has trouble with. The gradients are centred in the files -- starts at the bleed edge at 0% tint of a spot colour, going to 100% tint at 0000048:0000030% in, then staying 100% tint until 0000085:0000070%, and then fading to 0% tint again at the right bleed edge. When I export to PDF, however, the gradients are offset. Sometimes it's quite noticeable; sometimes it's very subtle. And sometimes, just to throw me, it doesn't happen at all. I can't see a pattern.
Steps To Reproduce1. Open attached Scribus file in Scribus 1.5.0svn (sorry for the missing fonts).
2. Export to PDF.
3. View in any PDF viewer.
Additional InformationThis seems to happen cross-platform, and it doesn't seem to matter how often I delete and recreate the rectangle and its gradient.
TagsNo tags attached.
PatchNo

Activities

pdaoust

2015-04-08 04:01

reporter  

pdaoust

2015-04-08 04:04

reporter  

pdaoust

2015-04-08 04:04

reporter  

fschmid

2015-04-08 20:18

administrator   ~0034856

Exporting without any Pre-Press Marks and Bleeds works OK.

fschmid

2015-04-08 20:49

administrator  

PPW1pg_fixed.pdf (68,960 bytes)

fschmid

2015-04-08 20:51

administrator   ~0034857

Please test the uploaded file "PPW1pg_fixed.pdf" with Acrobat Reader, all Ghostscript or Poppler based renderers display the file fine.

jghali

2015-04-08 21:59

administrator  

PPW1pg group.sla (44,891 bytes)

jghali

2015-04-08 22:00

administrator   ~0034858

Unfortunately it seems your fix break export of gradients embedded in groups. Attached are an example + a patch which seems to work better for groups. I have not yet tested cases where PDF_TransparenzFill() gets used.

jghali

2015-04-08 22:01

administrator  

12990_gradient_export.patch (2,086 bytes)   
Index: scribus/pdflib_core.cpp
===================================================================
--- scribus/pdflib_core.cpp	(revision 19981)
+++ scribus/pdflib_core.cpp	(working copy)
@@ -8147,12 +8147,12 @@
 	if (stroke)
 	{
 		GType = currItem->GrTypeStroke;
-		StartX = currItem->GrStrokeStartX + bleedDisplacementX;
-		StartY = currItem->GrStrokeStartY + bleedDisplacementY;
-		EndX = currItem->GrStrokeEndX + bleedDisplacementX;
-		EndY = currItem->GrStrokeEndY + bleedDisplacementY;
-		FocalX = currItem->GrStrokeFocalX + bleedDisplacementX;
-		FocalY = currItem->GrStrokeFocalY + bleedDisplacementY;
+		StartX = currItem->GrStrokeStartX;
+		StartY = currItem->GrStrokeStartY;
+		EndX = currItem->GrStrokeEndX;
+		EndY = currItem->GrStrokeEndY;
+		FocalX = currItem->GrStrokeFocalX;
+		FocalY = currItem->GrStrokeFocalY;
 		Gscale = currItem->GrStrokeScale;
 		Gskew = currItem->GrStrokeSkew;
 		if (!(currItem->strokeGradient().isEmpty()) && (doc.docGradients.contains(currItem->strokeGradient())))
@@ -8172,12 +8172,12 @@
 			return PDF_MeshGradientFill(output, currItem);
 		else if (GType == 12)
 			return PDF_PatchMeshGradientFill(output, currItem);
-		StartX = currItem->GrStartX + bleedDisplacementX;
-		StartY = currItem->GrStartY + bleedDisplacementY;
-		EndX = currItem->GrEndX + bleedDisplacementX;
-		EndY = currItem->GrEndY + bleedDisplacementY;
-		FocalX = currItem->GrFocalX + bleedDisplacementX;
-		FocalY = currItem->GrFocalY + bleedDisplacementY;
+		StartX = currItem->GrStartX;
+		StartY = currItem->GrStartY;
+		EndX = currItem->GrEndX;
+		EndY = currItem->GrEndY;
+		FocalX = currItem->GrFocalX;
+		FocalY = currItem->GrFocalY;
 		Gscale = currItem->GrScale;
 		Gskew = currItem->GrSkew;
 		if (!(currItem->gradient().isEmpty()) && (doc.docGradients.contains(currItem->gradient())))
@@ -8203,6 +8203,7 @@
 		}
 		else
 		{
+			mpa.translate(bleedDisplacementX, bleedDisplacementY);
 			mpa.translate(currItem->xPos() - ActPageP->xOffset(), ActPageP->height() - (currItem->yPos() - ActPageP->yOffset()));
 			mpa.rotate(-currItem->rotation());
 		}
12990_gradient_export.patch (2,086 bytes)   

pdaoust

2015-04-09 04:31

reporter   ~0034859

Last edited: 2015-04-09 04:32

I can confirm that exporting without bleeds and prepress marks works fine. I tested out PPW1pg_fixed.pdf in pdfjs (Chromium 40) and Evince 3.10.3 (whatever that uses -- Poppler?). Don't have Adobe Reader on this computer, but I'll try to open it on my work computer tomorrow. The background gradient is indeed fixed, but the orange radial gradient is now offset. (I thought it might be because it was part of a group, as jghali mentioned, but it isn't.)

I tried to apply the patch and test it, but I don't have enough time to get a build environment working... is there a chance this patch will appear in trunk (and hence the nightlies) soon?

pdaoust

2015-04-10 06:06

reporter   ~0034869

Well holy cow. I tried it out on Mac OS X using Homebrew, and dang, that was a quick fix. Thank you so much, guys.

christoph_s

2015-04-10 17:29

administrator   ~0034870

Tested, fixed. Thanks.

Issue History

Date Modified Username Field Change
2015-04-08 04:01 pdaoust New Issue
2015-04-08 04:01 pdaoust File Added: PPW 3×3.375 label 1pg.sla.gz
2015-04-08 04:04 pdaoust File Added: PPW 3×3.375 label 1pg.pdf
2015-04-08 04:04 pdaoust File Added: Scribus screenshot - gradient displaying correctly.png
2015-04-08 04:30 christoph_s Status new => resolved
2015-04-08 04:30 christoph_s Resolution open => duplicate
2015-04-08 04:30 christoph_s Assigned To => christoph_s
2015-04-08 04:30 christoph_s Status resolved => closed
2015-04-08 07:10 jghali Assigned To christoph_s =>
2015-04-08 07:10 jghali Status closed => feedback
2015-04-08 07:10 jghali Resolution duplicate => reopened
2015-04-08 07:10 jghali Status feedback => new
2015-04-08 07:10 jghali Resolution reopened => open
2015-04-08 07:17 jghali Target Version => 1.5.0
2015-04-08 20:18 fschmid Note Added: 0034856
2015-04-08 20:49 fschmid File Added: PPW1pg_fixed.pdf
2015-04-08 20:51 fschmid Note Added: 0034857
2015-04-08 20:53 fschmid Status new => resolved
2015-04-08 20:53 fschmid Fixed in Version => 1.5.0svn
2015-04-08 20:53 fschmid Resolution open => fixed
2015-04-08 20:53 fschmid Assigned To => fschmid
2015-04-08 21:59 jghali File Added: PPW1pg group.sla
2015-04-08 22:00 jghali Note Added: 0034858
2015-04-08 22:00 jghali Status resolved => feedback
2015-04-08 22:00 jghali Resolution fixed => reopened
2015-04-08 22:01 jghali File Added: 12990_gradient_export.patch
2015-04-09 04:31 pdaoust Note Added: 0034859
2015-04-09 04:31 pdaoust Status feedback => assigned
2015-04-09 04:32 pdaoust Note Edited: 0034859
2015-04-09 18:41 fschmid Status assigned => resolved
2015-04-09 18:41 fschmid Resolution reopened => fixed
2015-04-10 06:06 pdaoust Note Added: 0034869
2015-04-10 17:29 christoph_s Note Added: 0034870
2015-04-10 17:29 christoph_s Status resolved => closed