顶替Bitmap的东东,强制去色
一个可以把图的底色完全干净地去除的脚本,效果图如下:原图:
运行时:
支持所有RM支持的图片,使用方法基本与bitmap.new相同,然后返回的也是bitmap对象
但是输入的量除了文件名,还要作为去除颜色的Color (如Color.new(0,0,0,255))
链接:http://rpg.blue/thread-36728-1-89.html
将bitmap对象输出为png文件(很久以前的东西)
脚本的速度很慢(大概200×200要1秒),所以不建议用于多张图片显示或者在游戏运行时使用(载入地图时先生成bitmap对象就行了)def 强制去色(bitmap,c = Color.new(0,0,0,255))color2 = b = Bitmap.new(bitmap)w = b.widthh = b.heightbbb = Bitmap.new(w,h)for x in 1..w for y in 1..h cc = b.get_pixel(x, y) color = cr = 255-color cg = 255-color cb = 255-color ca = color c2r = color2 c2g = color2 c2b = color2 c2a = color2 rr = 1.000000 gg = 1.000000 bb = 1.000000 aa = 1.000000 rr = cr * 1.000000 / c2r if c2r != 0 gg = cg * 1.000000/ c2g if c2g != 0 bb = cb * 1.000000/ c2b if c2b != 0 aa = ca * 1.000000/ c2a if c2a != 0 xx = .min color3 = cr -= color3 cg -= color3 cb -= color3 ca -= color3 bbb.set_pixel(x, y, Color.new(255-cr,255-cg,255-cb,ca)) endendreturn bbbend复制代码R-零于2011-7-11 18:07补充以下内容:
颜色可以自己改,默认是去黑色底。再次强调使用方法: bitmap = 强制去色("图片",Color.new(R,G,B,Alpha))
本帖来自P1论坛作者R-零,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=190683若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]