[cairo-bugs] [Bug 30282] New: Blurry results when scaling+copying a vector surface to an image surface

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 20 08:15:30 PDT 2010


           Summary: Blurry results when scaling+copying a vector surface
                    to an image surface
           Product: cairo
           Version: 1.8.6
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: general
        AssignedTo: cworth at cworth.org
        ReportedBy: britten at caris.com
         QAContact: cairo-bugs at cairographics.org

Created an attachment (id=38813)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=38813)
Blurry output, from attached sample code

As first mentioned via
http://lists.cairographics.org/archives/cairo/2010-September/020864.html ,
there seems to be an undesirable result when copying AND SCALING an existing
surface to another one.

In this workflow, I've created+populated a PDF surface, and am trying to
extract a high-resolution image of a portion of it.  Unfortunately, the end
result is extremely blurry, as if a low-resolution image was simply stretched. 
It's not at all what I'd expect given the source surface was PDF (vector).

Doing a straight "no-scale" copy produces quality results, but as soon as a
scaling factor is introduced, the results don't match what one would have
expected, assuming that vector instructions were simply 'replayed' on the final
image surface at a different scale.

After some discussions on IRC, ranma42 acknowledged it as a valid Cairo problem
that could/should be fixed (Hence this bug).

In the meantime, I've been struggling to find a workaround that will produce
the desired results using the existing Cairo interfaces, but to no avail. 
Ideally, I'd like to find some sort of solution that could work with the
existing 1.8.x API, if possible (irregardless of performance, etc).

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the cairo-bugs mailing list