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

Project1

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

[已经解决] 求解,如何将一个bitmap切出一个圆形,成为新的bitmap?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
180
在线时间
509 小时
注册时间
2010-10-1
帖子
97
跳转到指定楼层
1
发表于 2014-5-14 10:41:31 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
问题:现在有一个bitmap,怎么对它进行切割(圆形)分离?
另外问下大家有没有对bitmap的处理的范例?谢谢~

Lv2.观梦者

梦石
0
星屑
671
在线时间
475 小时
注册时间
2011-4-25
帖子
166
6
发表于 2014-5-23 21:40:50 | 只看该作者
直接PS,建一个圆形选区,然后羽化。

点评

治标不治本  发表于 2014-5-24 18:45
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33131
在线时间
5105 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2014-5-18 20:55:13 | 只看该作者
可以用 PS 试试。
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
68
在线时间
585 小时
注册时间
2013-5-25
帖子
1524
4
发表于 2014-5-18 13:24:37 | 只看该作者
rgss本身没有定义这种方法、可以利用blt实现,不过不优化算法的话效率会异常地低下



既然你提出这个问题说明你对脚本是了解的,下面的代码稍微花了点时间写、你可以参考后自己整合成一个方法。
  1. def y_get_circle_width(r,y) #根据相对圆心y坐标获得横向宽度
  2.   return 0 if r.abs < y.abs
  3.   return Math.sqrt(r ** 2 - (y.to_f) ** 2) * 2
  4. end
  5. bitmap1 = Bitmap.new("miu.jpg")
  6. bitmap2 = Bitmap.new(666,666)
  7. sprite = Sprite.new

  8. r = 64 #半径
  9. ox = 64 #位图上圆心坐标
  10. oy = 64

  11. sx = ox - r #获得左上顶点坐标
  12. sy = oy - r


  13. sprite.bitmap = bitmap2
  14. sprite.x = 320-64
  15. sprite.y = 240-64

  16. (r*2).times{|y|
  17. width = y_get_circle_width(r,y-r) #根据相对圆心y坐标获得横向宽度
  18. bx = sx + r - width / 2 #获得blt的起点坐标
  19. by = sy + y

  20. rect = Rect.new(bx,by,width,1)
  21. bitmap2.blt(bx,by,bitmap1,rect)

  22. }


  23. loop{Graphics.update}
复制代码

点评

嗯 谢谢~知道了  发表于 2014-6-4 14:31

评分

参与人数 2星屑 +500 梦石 +1 收起 理由
天地有正气 + 500 精品文章
myownroc + 1 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

3
发表于 2014-5-18 12:51:30 | 只看该作者
Bitmap类以默认的系统而言,只能以一个矩形的形式来体现。

点评

恭喜结婚  发表于 2014-5-18 13:34
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
180
在线时间
509 小时
注册时间
2010-10-1
帖子
97
2
 楼主| 发表于 2014-5-18 12:11:10 手机端发表。 | 只看该作者
自顶一下,拜托各位花点时间教下吧 thanks~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-10-1 00:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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