Project1

标题: 文字的阴影是在哪里描绘的? [打印本页]

作者: 冰舞蝶恋    时间: 2011-3-26 17:32
标题: 文字的阴影是在哪里描绘的?
求助,顺便求能改变阴影颜色的办法!
作者: 幸运    时间: 2011-3-26 20:49
http://rpg.blue/forum.php?mod=vi ... 1%E9%A2%9C%E8%89%B2
不知是否符合
作者: wbsy8241    时间: 2011-3-26 21:14
本帖最后由 wbsy8241 于 2011-3-26 21:16 编辑
  1. class Bitmap
  2.   #--------------------------------------------------------------------------
  3.   # ● 文字阴影
  4.   # draw_text(x, y, width, height, str[, align[, shadow[, shadow_color]]])
  5.   # draw_text(rect, str[, align[, shadow[, shadow_color]]])
  6.   #
  7.   # shadow: 指定为 1 时加阴影
  8.   # shadow_color: 自指定阴影颜色
  9.   # 使用阴影需要先指定对齐
  10.   # 红色阴影范例:bitmap.draw_text(0, 0, 64, 32, "红色", 0, 1, Color.new(255,0,0))
  11.   # 默认阴影范例:bitmap.draw_text(0, 0, 64, 32, "默认", 0, 1)
  12.   #--------------------------------------------------------------------------
  13.   alias new_draw_text draw_text if $f12 == nil
  14.   def draw_text(p1, p2, p3=0, p4=0, p5=0, p6=0, p7=0, p8=0)
  15.     case p1
  16.     when Numeric
  17.       x = p1
  18.       y = p2
  19.       width = p3
  20.       height = p4
  21.       text = p5.to_s
  22.       align = p6
  23.       shadow = p7
  24.       shadow_color = p8
  25.     when Rect
  26.       x = p1.x
  27.       y = p1.y
  28.       width = p1.width
  29.       height = p1.height
  30.       text = p2.to_s
  31.       align = p3
  32.       shadow = p4
  33.       shadow_color = p5
  34.     end
  35.     if shadow == 1
  36.       color_temp = self.font.color.clone
  37.       case shadow_color
  38.       when Numeric
  39.         color = Color.new(0, 0, 0, color_temp.alpha)
  40.       when Color
  41.         color = shadow_color
  42.       end
  43.       self.font.color = color
  44.       new_draw_text(x+1, y+1, width, height, text, align)
  45.       self.font.color = color_temp
  46.     end
  47.     new_draw_text(x, y, width, height, text, align)
  48.   end
  49. end
  50. $f12 = true
复制代码

作者: 冰舞蝶恋    时间: 2011-3-26 22:17
回复 幸运 的帖子

这是xp的
作者: 忧雪の伤    时间: 2011-3-27 13:54
本帖最后由 忧雪の伤 于 2011-3-27 13:54 编辑
冰舞蝶恋 发表于 2011-3-26 22:17
回复 幸运 的帖子

这是xp的


VX默认不是存在阴影吗?
self.contents.font.shadow = false 或者 self.contents.font.shadow = true
之类的……
作者: wbsy8241    时间: 2011-3-27 15:14
  1. class Bitmap
  2.   alias new_draw_text draw_text if $f12 == nil
  3.   def draw_text(p1, p2, p3=0, p4=0, p5=0, p6=0)
  4.     case p1
  5.     when Numeric
  6.       x = p1
  7.       y = p2
  8.       width = p3
  9.       height = p4
  10.       text = p5.to_s
  11.       align = p6
  12.     when Rect
  13.       x = p1.x
  14.       y = p1.y
  15.       width = p1.width
  16.       height = p1.height
  17.       text = p2.to_s
  18.       align = p3
  19.     end
  20.     if self.font.shadow == true
  21.       color_temp = self.font.color.clone
  22.       self.font.shadow = false
  23.       if self.font.shadow_color.is_a?(Color)
  24.         self.font.color = self.font.shadow_color
  25.       else
  26.         self.font.color = self.font.default_shadow_color
  27.       end
  28.       self.font.color.alpha = color_temp.alpha
  29.       new_draw_text(x+1, y+1, width, height, text, align)
  30.       self.font.color = color_temp
  31.       new_draw_text(x, y, width, height, text, align)
  32.       self.font.shadow = true
  33.     else
  34.       new_draw_text(x, y, width, height, text, align)
  35.     end
  36.   end
  37. end
  38. class Font
  39.   @@shadow_color = Color.new(0,0,0,255)
  40.   attr_accessor :shadow_color
  41.   def default_shadow_color
  42.     return @@shadow_color
  43.   end
  44.   def self.default_shadow_color=(color)
  45.     @@shadow_color = color
  46.   end
  47. end
  48. $f12 = true
复制代码
VX用
Font.default_shadow_color    :全局阴影颜色
self.font.shadow_color          :单独阴影颜色
作者: 冰舞蝶恋    时间: 2011-3-27 19:35
回复 wbsy8241 的帖子

认可!!谢谢前辈




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1