How to draw translucent strings?
pkptzx opened this issue · 7 comments
pkptzx commented
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
haozing commented
To draw transparent fonts, use png format.
pkptzx commented
要绘制透明字体,请使用png格式。
那你的意思是先绘制到png上,再图片叠加?那还是一样的问题,半透明的字怎么绘制?
就是水印
pkptzx commented
To draw transparent fonts, use png format.
丑的一塌糊涂
haozing commented
要绘制透明字体,请使用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)
pkptzx commented
要绘制透明字体,请使用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 commented
要绘制透明字体,请使用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背景透明....
自己好好看看代码是不是文字透明...
nigeltao commented
color.RGBA{255, 0, 0, 180}
Go uses premultipled alpha. The first 255 should be 180.