ruby - 在 Ruby 中从二进制数据创建图像文件

标签 ruby image binary-data

我能够访问文件的二进制数据并将其存储在这样的变量中

s = File.binread("sample_22122015_03.jpg")
bits = s.unpack("B*")[0]

其中位具有这样的数据“101001001010100100......”

但是,我想做一些更改,然后再次将二进制数据写回新图像,但我做不到。

我正在使用

File.open('shipping_label_new.jpg', 'wb') do|f|
f.write(Base64.decode64(bits))
end

但它不起作用,我看到图像已损坏。

最佳答案

试试这段代码

s = File.binread("test_img.jpg")
bits = s.unpack("B*")

File.open('new_test_img.jpg', 'wb') do|f|
  f.write(bits.pack("B*"))
end

关于ruby - 在 Ruby 中从二进制数据创建图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37833012/

相关文章:

ruby-on-rails - Rails 返回 500 错误(不确定原因)

ruby - 如何在 MongoDB 映射函数中对 BSON 对象进行字符串化?

jquery - 使用 jQuery 更改图像?

Javascript 监听图像加载调用并在图像加载之前更改 src

c - 将字符串作为二进制数据写入文件 - C

javascript - 将二进制数据从 Nodejs 缓冲区写入 Meteor 客户端上的 blob

ruby - 添加我正在开发的 gem 以由 ruby​​gems 自动加载而无需构建/安装?

ruby - 为什么不能将类用作模块?

Javascript:如何将 Javascript 图像链接到页面?

mysql - mysql CLI 工具是否提供了一种以控制台友好的方式显示二进制数据的方法?