赞 | 0 |
VIP | 1 |
好人卡 | 12 |
积分 | 1 |
经验 | 44173 |
最后登录 | 2024-5-2 |
在线时间 | 552 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 117
- 在线时间
- 552 小时
- 注册时间
- 2012-8-18
- 帖子
- 1429
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 无脑之人 于 2013-10-12 21:59 编辑
简单的一个小功能而已,用在手动换行和自动换行上都很方便,有什么Bug请回复,谢谢合作- class Bitmap
- alias :draw_text2 :draw_text unless defined? :draw_text2
- def draw_text(*args)
- case args.size
- when 2
- rect = args[0]
- text = args[1].split("\n")
- align = 0
- when 3
- rect = args[0]
- text = args[1].split("\n")
- align = args[2]%3
- when 5
- rect = Rect.new(*(args[0,4]))
- text = args[4].split("\n")
- align = 0
- when 6
- rect = Rect.new(*(args[0,4]))
- text = args[4].split("\n")
- align = args[5]%3
- else
- raise ArgumentError,"错误的参数个数(#{args.size} to 2,3,5,6)."
- end
- return if text.empty?
- wmax = [text.map{|t| self.text_size(t).width}.max,rect.width].min
- h = self.text_size(text[0]).height
- hmax = [h*text.size,rect.height].min
- y = rect.y+(rect.height-hmax)/2
- x = align==0 ? rect.x : align==2 ? rect.x+rect.width-wmax : rect.x+(rect.width-wmax)/2
- text.each_with_index{|t,i|
- draw_text2(x,y+i*h,wmax,h,t,align)
- }
- self
- end
- end
复制代码 2013-10-12 更新
修复了进入物品界面报错的问题【问题原因:空字符串进行split返回空数组】
修复了覆盖掉所在区域原图像的Bug
@cinderelmini @fzcrllsx @喵呜喵5 @诺亚之城 请及时更新,感谢使用 |
评分
-
查看全部评分
|