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

Project1

 找回密码
 注册会员
搜索
查看: 2951|回复: 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:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-5-5 16:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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