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

Project1

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

[通用发布] 识别换行符的draw_text

[复制链接]

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
跳转到指定楼层
1
发表于 2013-8-31 13:13:38 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 无脑之人 于 2013-10-12 21:59 编辑

简单的一个小功能而已,用在手动换行和自动换行上都很方便,有什么Bug请回复,谢谢合作
  1. class Bitmap
  2.   alias :draw_text2 :draw_text unless defined? :draw_text2
  3.   def draw_text(*args)
  4.     case  args.size
  5.     when 2
  6.       rect = args[0]
  7.       text = args[1].split("\n")
  8.       align = 0
  9.     when 3
  10.       rect = args[0]
  11.       text = args[1].split("\n")
  12.       align = args[2]%3
  13.     when 5
  14.       rect = Rect.new(*(args[0,4]))
  15.       text = args[4].split("\n")
  16.       align = 0
  17.     when 6
  18.       rect = Rect.new(*(args[0,4]))
  19.       text = args[4].split("\n")
  20.       align = args[5]%3
  21.     else
  22.       raise ArgumentError,"错误的参数个数(#{args.size} to 2,3,5,6)."
  23.     end
  24.     return if text.empty?
  25.     wmax = [text.map{|t| self.text_size(t).width}.max,rect.width].min
  26.     h = self.text_size(text[0]).height
  27.     hmax = [h*text.size,rect.height].min
  28.     y = rect.y+(rect.height-hmax)/2
  29.     x = align==0 ? rect.x : align==2 ? rect.x+rect.width-wmax : rect.x+(rect.width-wmax)/2
  30.     text.each_with_index{|t,i|
  31.       draw_text2(x,y+i*h,wmax,h,t,align)
  32.     }
  33.     self
  34.   end
  35. end
复制代码
2013-10-12 更新
  修复了进入物品界面报错的问题【问题原因:空字符串进行split返回空数组】
  修复了覆盖掉所在区域原图像的Bug

@cinderelmini @fzcrllsx @喵呜喵5 @诺亚之城 请及时更新,感谢使用

评分

参与人数 3星屑 +155 收起 理由
喵呜喵5 + 60 中国好脚本er
诺亚之城 + 45 感谢提醒
cinderelmini + 50 吃起来更不错~~

查看全部评分

我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
2
 楼主| 发表于 2013-10-12 17:36:02 手机端发表。 | 显示全部楼层
喵呜喵5 发表于 2013-10-12 15:40:43

@喵呜喵5 目测阁下的参数错了,Bitmap#draw_text的第五个参数应该是字符串,阁下填了0?(左对齐可以不用填0的……)
来自: Android客户端
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-14 08:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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