rmagick не вызывает потери данных при сохранении в формате jpeg

Я хочу написать скрипт с помощью 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

0 ответов

Другие вопросы по тегам