赞 | 7 |
VIP | 20 |
好人卡 | 0 |
积分 | 16 |
经验 | 11472 |
最后登录 | 2024-7-10 |
在线时间 | 526 小时 |
Lv3.寻梦者 宛若
- 梦石
- 0
- 星屑
- 1568
- 在线时间
- 526 小时
- 注册时间
- 2007-8-19
- 帖子
- 1493
|
本帖最后由 逸豫 于 2010-8-2 11:46 编辑
- class Bitmap
- alias dt draw_text
- def draw_text(x,y,w = nil,h = nil,str = nil,l = 0)
- if x.is_a?(Rect)
- f = x.clone
- str = y.clone
- l = w == nil ? 0 : w
- x = f.x
- y = f.y
- w = f.width
- h = f.height
- end
- nx = x
- ny = y+5
- s = str.split(//)
- #p s if str == "阿尔西斯"
- for i in s
- #p s if str == "阿尔西斯"
- if ((i <=> 0.chr) == 1 || (i <=> 0.chr) == 0) && ((i <=> 127.chr) == -1 || (i <=> 127.chr) == 0)
- self.font.name = "Monotype Corsiva"
- else
- self.font.name = Font.default_name
- end
- a = text_size(i)
- a.x = nx
- a.y = ny
- dt(nx,ny,a.width,a.height,i,l) if l != 0
- dt(nx,ny,a.width,a.height,i) if l == 0
- nx += a.width
- #break if nx >= w
- end
- #p s if str == "阿尔西斯"
- end
- end
复制代码 副作用多到极限,三思而行
好吧,我想复杂了= =|||汝去无视咱吧= =|||
另:提醒一下,英文字体放前面= =||| |
|