freetype icon indicating copy to clipboard operation
freetype copied to clipboard

How to draw translucent strings?

Open pkptzx opened this issue 5 years ago • 7 comments

i try this:

c := freetype.NewContext()  
...  
c.SetSrc(image.NewUniform(color.RGBA{255, 0, 0, 180})) // 

but always very strange...

Can someone help me? Thanks

pkptzx avatar May 01 '19 17:05 pkptzx

To draw transparent fonts, use png format.

haozing avatar Aug 29 '19 09:08 haozing

要绘制透明字体,请使用png格式。

那你的意思是先绘制到png上,再图片叠加?那还是一样的问题,半透明的字怎么绘制? 就是水印

pkptzx avatar Sep 04 '19 14:09 pkptzx

To draw transparent fonts, use png format.

丑的一塌糊涂

pkptzx avatar Sep 04 '19 14:09 pkptzx

要绘制透明字体,请使用PNG格式。

那你的意思是先绘制到PNG上,再图片叠加?那还是一样的问题,半透明的字怎么绘制? 就是水印

是的。先生成字体png透明图片。然后叠加。

c := freetype.NewContext()  
...  
c.SetSrc(image.NewUniform(color.RGBA{255, 0, 0, 180})) // 
pt := freetype.Pt(X, Y)
_, err = c.DrawString(s, pt)

haozing avatar Sep 09 '19 01:09 haozing

要绘制透明字体,请使用PNG格式。

那你的意思是先绘制到PNG上,再图片叠加?那还是一样的问题,半透明的字怎么绘制? 就是水印

是的。先生成字体png透明图片。然后叠加。

c := freetype.NewContext()  
...  
c.SetSrc(image.NewUniform(color.RGBA{255, 0, 0, 180})) // 
pt := freetype.Pt(X, Y)
_, err = c.DrawString(s, pt)

你没懂我意思吧?我要文字透明(半透明),不是png背景透明....

pkptzx avatar Sep 09 '19 08:09 pkptzx

要绘制透明字体,请使用PNG格式。

那你的意思是先绘制到PNG上,再图片叠加?那还是一样的问题,半透明的字怎么绘制? 就是水印

是的。先生成字体png透明图片。然后叠加。

c := freetype.NewContext()  
...  
c.SetSrc(image.NewUniform(color.RGBA{255, 0, 0, 180})) // 
pt := freetype.Pt(X, Y)
_, err = c.DrawString(s, pt)

你没懂我意思吧?我要文字透明(半透明),不是png背景透明....

自己好好看看代码是不是文字透明...

haozing avatar Sep 17 '19 03:09 haozing

color.RGBA{255, 0, 0, 180}

Go uses premultipled alpha. The first 255 should be 180.

nigeltao avatar Sep 18 '19 02:09 nigeltao