rmagickを使用してスクリプトを作成します。このスクリプトは、画像をx回再保存して、jpegによって引き起こされるデータ損失を示します。
残念ながら、最初に保存している間はデータが失われるだけです。それ以外の場合、画像はそれ以上圧縮されていないようです。
オブジェクトをnullに設定して、すべてのサイクルの後にガベージコレクターを起動しようとしましたが、これはすべて効果がありませんでした。画像は1回だけ圧縮されました。
以下にコードを投稿しています。保存サイクルごとに画像を圧縮するために、これを行う方法のヒントを取得すると非常に役立ちます。
$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