Project1

标题: 如何修改picture的色相 [打印本页]

作者: gonglinyuan    时间: 2015-2-21 21:31
标题: 如何修改picture的色相
色相好像只对character、battler、animation等几种东西起作用,picture好像是没有色相的设定的。

不知道有没有RM自带的方法或者是大神写的脚本或者是DLL可以实现这样的功能?

手写实在太蛋疼了,虽然原理不是很复杂,但我只会写bmp格式的色相变换,不会PNG那一套的啊。
作者: 芯☆淡茹水    时间: 2015-2-21 23:06
把 RPG::Cache.picture 改一下,改成需要 色相 参数。
作者: 恐惧剑刃    时间: 2015-2-21 23:10
RPG::Cache模块中定义的方法load_bitmap是可以调整色相的。
像动画
def self.animation(filename, hue)
  self.load_bitmap("Graphics/Animations/", filename, hue)
end

很清楚 self.load_bitmap("Graphics/Animations/", filename, hue)

但是 定义picture 就变成了:
self.load_bitmap("Graphics/Pictures/", filename) 。。。。

很简单
def self.picture(filename, hue = 0)
  self.load_bitmap("Graphics/Pictures/", filename, hue)
end


作者: taroxd    时间: 2015-2-22 17:47
本帖最后由 taroxd 于 2015-2-22 17:49 编辑

那我就回一下贴收糖吧

缓存快很多,前提是你之前读取过一次相同的图片,而且没有释放。否则,文件操作是避免不了的。
不过,当你用到 picture ,还需要改色相的时候,能够用到缓存的加速效果可能性很小。如果不释放,反而是大量很少用到的位图浪费内存。

涉及频繁读写的效率很低。问题是,你读写那张图片频繁吗?
频繁读写的东西,放在 System 文件夹之类的话不是更加合适吗?这样的话,倒确实可以用上缓存。

RM 的肯定有改色相的方法,否则其他图片是无法实现改色相的。VA 中是 Bitmap#change_hue (还是 hue_change 来着,忘了)

另外,其实最简单的方法就是:直接用 PS 去改色相。





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1