设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3134|回复: 2
打印 上一主题 下一主题

[通用发布] 渐变字

[复制链接]

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

跳转到指定楼层
1
发表于 2016-1-27 13:10:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 kuerlulu 于 2016-1-27 13:22 编辑

因为搜了一下没搜到所以自己写了一个
# 因为没啥好说的所以用者自取,效率不要找我【
  1. class Bitmap
  2.   def gradient_draw_text x, y, w, h, str, align, color1, color2, v = false
  3.     buffer = Bitmap.new w, h
  4.     if v
  5.       x.upto x + w do |n|
  6.         r = color1.red    * (w - n + x) / w + color2.red   * (n - x) / w
  7.         g = color1.green  * (w - n + x) / w + color2.green * (n - x) / w
  8.         b = color1.blue   * (w - n + x) / w + color2.blue  * (n - x) / w
  9.         a = color1.alpha  * (w - n + x) / w + color2.alpha * (n - x) / w
  10.         buffer.clear
  11.         buffer.font.color = Color.new r, g, b, a
  12.         buffer.draw_text 0, 0, w, h, str, align
  13.         blt n, y, buffer, Rect.new(n - x, 0, 1, h)
  14.       end
  15.     else
  16.       y.upto y + h do |n|
  17.         r = color1.red    * (h - n + y) / h + color2.red    * (n - y) / h
  18.         g = color1.green  * (h - n + y) / h + color2.green  * (n - y) / h
  19.         b = color1.blue   * (h - n + y) / h + color2.blue   * (n - y) / h
  20.         a = color1.alpha  * (h - n + y) / h + color2.alpha  * (n - y) / h
  21.         buffer.clear
  22.         buffer.font.color = Color.new r, g, b, a
  23.         buffer.draw_text 0, 0, w, h, str, align
  24.         blt x, n, buffer, Rect.new(0, n - y, w, 1)
  25.       end
  26.     end
  27.     buffer.dispose
  28.     self
  29.   end
  30. end
复制代码
补一张截图(描边+模糊+渐变):
别叫我吃鱼了!

  -fk: -azogi:

Lv4.逐梦者 (版主)

百合控

梦石
0
星屑
6643
在线时间
1275 小时
注册时间
2013-8-21
帖子
3657

开拓者

2
发表于 2016-1-27 13:29:26 | 只看该作者



喵喵喵


萌新瑟瑟发抖
看到我请叫我去干活
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
23191
在线时间
2387 小时
注册时间
2005-10-15
帖子
1166

开拓者

3
发表于 2016-1-27 13:36:34 | 只看该作者
反复的draw_text效率降低的很厉害……20pt的字要draw 32次

点评

纯字母用了cache也是个办法,但是汉字就无能为力了  发表于 2016-1-27 17:47
http://bbs.66rpg.com/thread-335184-1-1.html 渐变字几版RM之间应该没差太多  发表于 2016-1-27 14:16
我回头测试一下set_pixel和你这个效率哪个好点儿  发表于 2016-1-27 13:43
所以说效率不要找我呀【顺便抱前辈大腿  发表于 2016-1-27 13:41
SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 16:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表