我想用rmagick编写一个脚本,重新保存图像x次以证明jpeg导致的数据丢失。
不幸的是,第一次保存时只会丢失数据。 所有其他时间,图像似乎不再被压缩。
我尝试将对象设置为null,以便在每个cyle之后启动垃圾收集器,但所有这些都没有效果。图像只被压缩一次。
我在下面发布我的代码。获取任何提示如何执行此操作非常有帮助,以便在每个保存周期中压缩图像。
$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