изменить размер PNG изображения с помощью Rmagick без потери качества - PullRequest
2 голосов
/ 08 марта 2012

Мне нужно изменить размер изображения 200 * 200 до 60 * 60 в Rmagick без потери качества изображения.В настоящее время я делаю следующее для изображения PNG

img = Magick::Image.from_blob(params[:file].read)[0]
  img.write(RootPath  + params[:dir_str] + "/#{filename}") do
    self.quality=100;
    #      self.compression = Magick::ZipCompression
  end

Я теряю резкость в результирующем изображении.Я хочу иметь возможность изменить размер, потеряв наименьшее количество качества изображения.Я пытался установить его качество и различные компрессии, но все они, кажется, не работают нормально.все получающееся изображение по-прежнему выглядит как удаленный слой цветов, а символ слова теряет резкость

кто-нибудь может дать мне несколько инструкций по изменению размера изображений png?

Ответы [ 2 ]

0 голосов
/ 20 июля 2014

Вы можете преобразовать png в векторное изображение, изменить размер вектора до 60x60 и затем преобразовать вектор в png.Почти без потерь.

0 голосов
/ 08 марта 2012

Вы изменяете размер изображения с 200x200 = 40000 до 60x60 = 3600 - то есть менее чем на одну десятую разрешения - и вы удивляетесь, что теряете качество изображения?Подумайте об этом так: вы могли бы взять изображение 16x16 и изменить его размер до 5x5 без потери качества?Это примерно так же, как вы пытаетесь сделать здесь.

Если то, что вы говорите, вы хотите сделать, действительно возможно, то каждое изображение можно уменьшить до одного пикселя без потери качества.

С качеством изображения 60x60, выполненным дизайнером, будет лучше, чемВаш, это зависит от оригинального размера изображения, из которого работает арт-дизайнер.Например, если арт-дизайнер работал с изображением 800x800 и предоставил из него свое изображение 200x200, а затем уменьшил исходное изображение 800x800 до 60x60 в PS, то это изображение 60x60 будет лучше, чем имеющееся у вас.Это связано с тем, что изображение размером 60x60 подверглось двум потерям качества: одно - до 200x200, а второе - от 200x200 до 60x60.Обязательно это будет хуже, чем изображение, измененное с оригинала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...