2

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
4

0 に答える 0