Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcd9d84f

Browse files
committed
Changed SVG text drawing logic to consider alpha of RGBA color
1 parentccd6377 commitcd9d84f

File tree

4 files changed

+176
-4
lines changed

4 files changed

+176
-4
lines changed

‎lib/matplotlib/backends/backend_svg.py‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -901,8 +901,10 @@ def _draw_text_as_path(self, gc, x, y, s, prop, angle, ismath, mtext=None):
901901
style= {}
902902
ifcolor!='#000000':
903903
style['fill']=color
904-
ifgc.get_alpha()!=1.0:
905-
style['opacity']=short_float_fmt(gc.get_alpha())
904+
905+
alpha=gc.get_alpha()ifgc.get_forced_alpha()elsegc.get_rgb()[3]
906+
ifalpha!=1:
907+
style['opacity']=short_float_fmt(alpha)
906908

907909
ifnotismath:
908910
font=text2path._get_font(prop)
@@ -1002,8 +1004,10 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None):
10021004
style= {}
10031005
ifcolor!='#000000':
10041006
style['fill']=color
1005-
ifgc.get_alpha()!=1.0:
1006-
style['opacity']=short_float_fmt(gc.get_alpha())
1007+
1008+
alpha=gc.get_alpha()ifgc.get_forced_alpha()elsegc.get_rgb()[3]
1009+
ifalpha!=1:
1010+
style['opacity']=short_float_fmt(alpha)
10071011

10081012
ifnotismath:
10091013
font=self._get_font(prop)
Lines changed: 114 additions & 0 deletions
Loading
Lines changed: 32 additions & 0 deletions
Loading

‎lib/matplotlib/tests/test_text.py‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,3 +474,25 @@ def test_single_artist_usetex():
474474
fig,ax=plt.subplots()
475475
ax.text(.5,.5,r"$\frac12$",usetex=True)
476476
fig.canvas.draw()
477+
478+
479+
@image_comparison(baseline_images=['text_as_path_opacity'],
480+
extensions=['svg'])
481+
deftest_text_as_path_opacity():
482+
plt.figure()
483+
plt.gca().set_axis_off()
484+
plt.text(0.25,0.25,'c',color=(0,0,0,0.5))
485+
plt.text(0.25,0.5,'a',alpha=0.5)
486+
plt.text(0.25,0.75,'x',alpha=0.5,color=(0,0,0,1))
487+
488+
489+
@image_comparison(baseline_images=['text_as_text_opacity'],
490+
extensions=['svg'])
491+
deftest_text_as_text_opacity():
492+
matplotlib.rcParams['svg.fonttype']='none'
493+
plt.figure()
494+
plt.gca().set_axis_off()
495+
plt.text(0.25,0.25,'50% using `color`',color=(0,0,0,0.5))
496+
plt.text(0.25,0.5,'50% using `alpha`',alpha=0.5)
497+
plt.text(0.25,0.75,'50% using `alpha` and 100% `color`',alpha=0.5,
498+
color=(0,0,0,1))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp