SourceForge logo
SourceForge logo
Menu

matplotlib-devel

From: John H. <jd...@gm...> - 2008年04月25日 16:27:26
Attachments: font.png
On the trunk, it appears that font anti-aliasing is turned off on
rotated text, as in this example:
n [26]: import datetime
In [27]: dt = datetime.date.today()
In [28]: dates = [dt-datetime.timedelta(days=i) for i in range(10)]
In [29]: plot(dates, range(10))
Out[29]: [<matplotlib.lines.Line2D object at 0x98f96ac>]
# after rotation the fonts are pixelated
In [34]: gcf().autofmt_xdate ()
In [35]: draw()
From: Michael D. <md...@st...> - 2008年04月25日 18:08:39
They don't look non-antialiased to me (in your attachment or a file I 
generated locally). Remember, the rotation happens in raster (not 
vector) space, because that was the path of least resistance, but is a 
bit of a hack.
The difference is that the trunk appears slightly darker than 0.91.x. 
(And 0.90.x, if I recall correctly, didn't support non-90 degree 
rotations of text at all). 0.91.x is using spline36 interpolation, 
trunk is using spline16. I *think* I changed it because I thought 
spline16 looked slightly cleaner (though technically less accurate), and 
of course is faster, but I'm not sure anymore -- SVN blame isn't helping 
me remember. It could have just been the example I was using at the 
time looked better.
In any case, you should be able to change this line in _backend_agg.cpp:2197
 filter.calculate(agg::image_filter_spline16());
to any of the interpolation kernels that Agg offers, and experiment 
until you find something suitable.
Cheers,
Mike
John Hunter wrote:
> On the trunk, it appears that font anti-aliasing is turned off on
> rotated text, as in this example:
>
> n [26]: import datetime
>
> In [27]: dt = datetime.date.today()
>
> In [28]: dates = [dt-datetime.timedelta(days=i) for i in range(10)]
>
> In [29]: plot(dates, range(10))
> Out[29]: [<matplotlib.lines.Line2D object at 0x98f96ac>]
>
> # after rotation the fonts are pixelated
> In [34]: gcf().autofmt_xdate ()
>
> In [35]: draw()
> 
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
> Don't miss this year's exciting event. There's still time to save 100ドル. 
> Use priority code J8TL2D2. 
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> ------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-devel mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
> 
-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
From: John H. <jd...@gm...> - 2008年04月25日 18:20:59
On Fri, Apr 25, 2008 at 1:08 PM, Michael Droettboom <md...@st...> wrote:
> They don't look non-antialiased to me (in your attachment or a file I
> generated locally). Remember, the rotation happens in raster (not vector)
> space, because that was the path of least resistance, but is a bit of a
> hack.
>
> The difference is that the trunk appears slightly darker than 0.91.x. (And
> 0.90.x, if I recall correctly, didn't support non-90 degree rotations of
> text at all). 0.91.x is using spline36 interpolation, trunk is using
> spline16. I *think* I changed it because I thought spline16 looked slightly
> cleaner (though technically less accurate), and of course is faster, but I'm
> not sure anymore -- SVN blame isn't helping me remember. It could have just
> been the example I was using at the time looked better.
>
> In any case, you should be able to change this line in
> _backend_agg.cpp:2197
>
> filter.calculate(agg::image_filter_spline16());
>
> to any of the interpolation kernels that Agg offers, and experiment until
> you find something suitable.
Hmm, I tried setting the interpolation back to what it is on the
branch, but this doesn't explain it. If you run
t = text(0.5, 0.5, 'hi mom', fontsize=20)
t.set_rotation(30); draw()
and save the results from the trunk and the branch (using
agg::image_filter_spline36) on both, it appears (as you say) that the
font weight is darker for rotated text, but not for non-rotated text.
JDH
From: Michael D. <md...@st...> - 2008年04月25日 19:13:00
I'm stumped. It looks like the code (and even the inputs to 
draw_text_image) are virtually identical, modulo the differences between 
Agg 2.3 and 2.4. Maybe the change is in Agg, and 2.4 is theoretically 
more correct? We can always experiment with different kernels and 
parameters until finding one that looks right.
Cheers,
Mike
John Hunter wrote:
> On Fri, Apr 25, 2008 at 1:08 PM, Michael Droettboom <md...@st...> wrote:
> 
>> They don't look non-antialiased to me (in your attachment or a file I
>> generated locally). Remember, the rotation happens in raster (not vector)
>> space, because that was the path of least resistance, but is a bit of a
>> hack.
>>
>> The difference is that the trunk appears slightly darker than 0.91.x. (And
>> 0.90.x, if I recall correctly, didn't support non-90 degree rotations of
>> text at all). 0.91.x is using spline36 interpolation, trunk is using
>> spline16. I *think* I changed it because I thought spline16 looked slightly
>> cleaner (though technically less accurate), and of course is faster, but I'm
>> not sure anymore -- SVN blame isn't helping me remember. It could have just
>> been the example I was using at the time looked better.
>>
>> In any case, you should be able to change this line in
>> _backend_agg.cpp:2197
>>
>> filter.calculate(agg::image_filter_spline16());
>>
>> to any of the interpolation kernels that Agg offers, and experiment until
>> you find something suitable.
>> 
>
> Hmm, I tried setting the interpolation back to what it is on the
> branch, but this doesn't explain it. If you run
>
> t = text(0.5, 0.5, 'hi mom', fontsize=20)
> t.set_rotation(30); draw()
>
> and save the results from the trunk and the branch (using
> agg::image_filter_spline36) on both, it appears (as you say) that the
> font weight is darker for rotated text, but not for non-rotated text.
>
> JDH
> 
-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
From: John H. <jd...@gm...> - 2008年04月26日 14:04:36
On Fri, Apr 25, 2008 at 2:12 PM, Michael Droettboom <md...@st...> wrote:
> I'm stumped. It looks like the code (and even the inputs to
> draw_text_image) are virtually identical, modulo the differences between Agg
> 2.3 and 2.4. Maybe the change is in Agg, and 2.4 is theoretically more
> correct? We can always experiment with different kernels and parameters
> until finding one that looks right.
I'll poke around with this then -- I was hoping the report would
trigger some memory about a font change you made. The differences in
the 2.3 and 2.4 agg incantations were all I could see too -- I wonder
if some default template parameter that is different in 2. is creeping
in.
JDH
From: Michael D. <md...@st...> - 2008年04月28日 20:37:59
John Hunter wrote:
> On Fri, Apr 25, 2008 at 2:12 PM, Michael Droettboom <md...@st...> wrote:
>
> 
>> I'm stumped. It looks like the code (and even the inputs to
>> draw_text_image) are virtually identical, modulo the differences between Agg
>> 2.3 and 2.4. Maybe the change is in Agg, and 2.4 is theoretically more
>> correct? We can always experiment with different kernels and parameters
>> until finding one that looks right.
>> 
>
> I'll poke around with this then -- I was hoping the report would
> trigger some memory about a font change you made. 
I don't recall any font changes -- if you diff ft2font.cpp in 0.91.2 and 
trunk you'll see they're virtually identical. And the unrotated text 
looks identical to me.
> The differences in
> the 2.3 and 2.4 agg incantations were all I could see too -- I wonder
> if some default template parameter that is different in 2. is creeping
> in.
> 
Perhaps. I was going to check the Agg examples to see if the spline 
filters look different there, too, but I can't get 2.3 to compile 
anymore for some reason, so I gave up for now.
Cheers,
Mike
-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /