我想用 rmagick 编写一个脚本,将图像重新保存 x 次以演示 jpeg 引起的数据丢失。
不幸的是,第一次保存时只有数据丢失。在所有其他时间,图像似乎没有被进一步压缩。
我试图将对象设置为 null,以便在每个循环后启动垃圾收集器,但这一切都没有效果。图像仅压缩一次。
我在下面发布我的代码。获得如何执行此操作的任何提示以及在每个保存周期中压缩图像都会非常有帮助。
$i = 1
$j=$i+1
$num = 700
while $i < $num do
puts $i
erstes="%03d" % $i
puts erstes
ziel="%03d" % $j
puts ziel
img = Image.read(o#{erstes}.jpeg").first
img.rotate!(90)
img.write("o#{ziel}.jpeg"){ self.quality = 50 }
img.destroy!
img = nil
GC.start
$i +=1
$j=$i+1
end