Егор Rmd Asked:2020-08-26 02:57:05 +0000 UTC2020-08-26 02:57:05 +0000 UTC 2020-08-26 02:57:05 +0000 UTC 如何从图像中获取颜色数组? 772 有图片 如何以最少的代码从一张这样的图片中获取十六进制格式的颜色数组?(红宝石) [#0091C0, #70D6EC, #83B0E7] 或哈希匹配, @colors = [ "Aqua Splach Heather", "Crystal Blue Heather", "Navy Blue"] 每张图片的方格数不同(长度56px) изображения 1 个回答 Voted Best Answer Nakilon 2020-08-27T09:56:18Z2020-08-27T09:56:18Z 拿gem ruby-vips。 减少 56 倍(可以尝试不同的内核)。 申请Vips::Image#to_a。 取第一行并将每个像素转换为十六进制。 或多或少是这样的: Vips::Image. new_from_file("my_image.png"). resize(56, vscale: 56, kernel: :lanczos2). to_a[0]. map{ |pixel| "#" + pixel.pack("c*").unpack("H*")[0] }
拿
gem ruby-vips。减少 56 倍(可以尝试不同的内核)。
申请
Vips::Image#to_a。取第一行并将每个像素转换为十六进制。
或多或少是这样的: