赞 | 3 |
VIP | 1 |
好人卡 | 40 |
积分 | 1 |
经验 | 93188 |
最后登录 | 2020-7-27 |
在线时间 | 1379 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 76
- 在线时间
- 1379 小时
- 注册时间
- 2012-7-5
- 帖子
- 1698
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 kuerlulu 于 2016-1-27 13:22 编辑
因为搜了一下没搜到所以自己写了一个
# 因为没啥好说的所以用者自取,效率不要找我【- class Bitmap
- def gradient_draw_text x, y, w, h, str, align, color1, color2, v = false
- buffer = Bitmap.new w, h
- if v
- x.upto x + w do |n|
- r = color1.red * (w - n + x) / w + color2.red * (n - x) / w
- g = color1.green * (w - n + x) / w + color2.green * (n - x) / w
- b = color1.blue * (w - n + x) / w + color2.blue * (n - x) / w
- a = color1.alpha * (w - n + x) / w + color2.alpha * (n - x) / w
- buffer.clear
- buffer.font.color = Color.new r, g, b, a
- buffer.draw_text 0, 0, w, h, str, align
- blt n, y, buffer, Rect.new(n - x, 0, 1, h)
- end
- else
- y.upto y + h do |n|
- r = color1.red * (h - n + y) / h + color2.red * (n - y) / h
- g = color1.green * (h - n + y) / h + color2.green * (n - y) / h
- b = color1.blue * (h - n + y) / h + color2.blue * (n - y) / h
- a = color1.alpha * (h - n + y) / h + color2.alpha * (n - y) / h
- buffer.clear
- buffer.font.color = Color.new r, g, b, a
- buffer.draw_text 0, 0, w, h, str, align
- blt x, n, buffer, Rect.new(0, n - y, w, 1)
- end
- end
- buffer.dispose
- self
- end
- end
复制代码 补一张截图(描边+模糊+渐变):
别叫我吃鱼了! |
|