0

我得到了一个自定义 Image 对象,它为我提供了一个 get_pixel(x, y) 方法,该方法将指定像素的 RGBA 值作为 4 元组返回。

我的目标是编写一个函数,将这个 Image 对象写成标准的 windows 24 位 bmp 图像。我已经编写了一个用于导出标题的函数,现在我遇到的真正问题是尽可能快地写出像素。

生成的 bmp 格式是未压缩的,所以我只能说

像素 = []
对于 0 中的 .. 高度 - 1
  对于 x in 0 .. 宽度 - 1
    #获取颜色,推送到数组
  结尾
结尾
像素.pack(...)

哪个应该工作(有点,只需要得到正确的像素顺序并有填充),但是有没有更快的方法呢?(我可以在 ruby​​ 中使用可能有帮助的高阶函数吗?)

编辑:我只记得我应该一次写出所有内容,而不是每次迭代。这大大加快了速度。

4

0 回答 0