首页 > 解决方案 > 理解和转换 Ruby 的 ChunkyPNG 到 Javascript 等价物

问题描述

我正在将一些 RUBY 代码转换为 Javascript。此 RUBY 代码使用 ChunkyPNG Ruby 库。

这是红宝石代码:

def self.from_png(file)
  image = ChunkyPNG::Image.from_file(file)
  mask = Mask.new(image.height, image.width)

  mask.rows.times do |row|
    mask.columns.times do |col|
      if image[col, row] == ChunkyPNG::Color::BLACK
        mask[row, col] = false
      else
        mask[row, col] = true
      end
    end
  end

  mask
end

如何将上述代码转换为 Javascript?我在转换方面面临的两条线是:

image = ChunkyPNG::Image.from_file(file)

if image[col, row] == ChunkyPNG::Color::BLACK

我可以使用什么 Javascript PNG 库来做同样的事情?

做什么

image[col, row]

参考?是RGB中的RG吗?或者它是什么?了解这一点可以帮助我在 Javascript PNG Libraries 中找到等效的 Javascript 方法...

标签: javascriptrubychunkypngpngjs

解决方案


image[col, row]指图像在位置 (col, row) 处的特定像素。图像可以描述为颜色的二维数组——在这种情况下,颜色是一个实例ChunkyPNG::Color或只是一个数字。在您的代码示例中,所有黑色像素都false在掩码中标记为,所有非黑色像素都标记为true.


推荐阅读