Jump to content
Korean Random
coJlHe4Hblu_noH4uk

Мододелам на заметку. Как правильно изменить размер полупрозрачного изображения.

Recommended Posts

Что будем делать?
Менять размер полупрозрачной картинки с сохранением максимума четкости.

 

Краткая суть метода.

ImajeJ делает точный ресайз. На примерах ниже видно, что он не "замыливает" "мелкие" текстуры и детали. И всё. Но он не умеет работать с масками прозрачности, поэтому просто гробит их. Предложенный метод позволяет обойти это ограничение, путем разделения исходника на 2 части - картинку без полупрозрачных элементов и черно-белую маску прозрачности. Потом они ресайзятся раздельно и объединяются в единое изображение.

 

ImageJ? Ниже, открыв спойлер, можно посмотреть, почему в качестве инструмента ресайза выбран именно ImajeJ:

'Сравнение ImageJ с Adobe Photoshop и Paint.NET'

3f06ee290e940a6560207bcab14ed3a8.png

 

702ef978799ef4a38951b22f2be1bc42.png


 
Зачем нам это нужно?
Встроенный в игровой интерфейс родной способ изменения изображений работает недостаточно качественно. На уменьшенных изображениях появляются "лесенки". Теряются детали картинки. Подробнее речь идет о коде типа такого:

"format": "<img src='xvmres://img/icons/help.png' width='33' height='33'>"

Какие инструменты нам нужны?

  • Photoshop или любой другой софт, который умеет сохранять маску прозрачности и работать со слоями.
  • ImageJ Resize Launcher - замечательнейшая программа для изменения размера изображений с сохранением четкости. Её единственный недостаток - при ресайзе полупрозрачных изображений она заливает прозрачные участки белым, с чем мы и будем бороться в  этой статье.

Где скачать необходимое?

  • Ссылок на Photoshop по понятным причинам не привожу. Для разовой операции можно обойтись и 30-дневной пробной версией, скачав её с сайта производителя.
  • Свежую версию ImageJ Resize Launcher всегда можно скачать напрямую в теме автора на сайте club.foto.ru (зеркало).

Картинка для привлечения внимания (до и после ресайза):

 

676a275d1c1068a8ca0a134ba21329d7.png


Начнем.

  • Откроем наше полупрозрачное изображение в Photoshop (для наглядности две картинки объединены в одну):

62057816bc20382990bf36ac9a3e281a.jpg
  • Зажав клавишу Ctrl, кликнем по пиктограмме единственного имеющегося у нас слоя, создав выделение:

2c4098936d59654eb929c3822fa114cf.jpg
  • Создадим новый корректирующий слой "Цвет", вызвав меню как показано на скриншоте ниже:

b9a23b440e5fcb1169d179a1ec9b5deb.jpg
  • В окне выбора цвета выбираем белый:

f793d8dd7212bbb44e79143435b5d14b.jpg
  • Создадим новый корректирующий слой "Цвет", вызвав меню уже известным нам способом, цвет выбираем черный:

79c7f97f9d8690a60344c78a92d783bd.jpg
  • У нас получается три слоя.
  • Перетаскиваем верхний слой на участок между средним и нижним слоем:

7ee3b3c053e50065dfeb69a71da84677.jpg
  • Должно получиться такое изображение (маска прозрачности, где черный цвет означает 100% прозрачности, белый - 0% :

cf16f4e7b9c766adb61d58eff128039f.jpg
  • Файл -> Сохранить как -> Выбираем настройки, как показано на скриншоте:

0d62b6876398554e2d1e57198b00980d.jpg
  • В меню настрое формата TIFF выберем следующие опции:

  • Откроем наше исходное изображение заново:

e76b2a560eef318e6246c2ed58b8dd01.jpg
  • Многократно повторяем нажатие сочетаний клавиш Ctrl+J -> Ctrl+Shift+E -> Ctrl+J -> Ctrl+Shift+E -> Ctrl+J -> Ctrl+Shift+E .... , добившись полного превращения полупрозрачных областей в непрозрачные:

1d3f6352111a9d590bc8bb07ebcddfbc.jpg
  • Сохраним изображение с теми же настройками, что и раньше, указав имя img, к примеру.
  • Закрываем Photoshop, после чего запустим ImageJ Resize Launcher, перетащим на него наши сохраненные изображения, в качестве выходного формата выберем PNG (Только не JPG!!!), остальное по вкусу. 64px выбрано учитывая следующее правило - размер изображения будет пропорционально уменьшен (увеличен) по длинной стороне до 64px. Нажимаем start и получаем два уменьшенных изображения:

21eada5c4c8b1a5730fad87d8f4f0bd8.jpg

 

94128e85904e95babb15c1c73a0d284b.jpg

  • Откроем оба в Photoshop, перейдем на наше черно-белое изображение, выделим его, нажав Ctrl+A, скопируем в буфер обмена, нажав Ctrl+C, затем перейдем на цветное изображение и вставим скопированную в память картинку сочетанием клавиш Ctrl+V. Должно получиться два слоя, как на скриншоте:

e81b58f820484f751ea9bfcdd4e6f865.jpg
  • Перейдем во вкладку "каналы", затем, зажав Ctrl, кликнем на канале RGB:

fd193a1d6aac4d8c018dbfef45b6e7d3.jpg
  • Перейдем назад на вкладку "слои", выберем нижний слой, а затем нажмем сочетание клавиш Ctrl+J, должно получиться три слоя, как показано на рисунке ниже:

2fedda7463796a15ecc43121a8ad7239.jpg
  • Скроем, нажав на "глаз" самый нижний и самый верхний слои:

f04c97f03331123efd3a9bcd31011b7e.jpg
  • Файл -> Сохранить как -> В поле формат выбираем PNG, в опциях сохранения для Сжатия ставим "самый маленький/медленно", для пункта чересстрочно - "снять выделение". Готово. Вот как будет выглядеть наша картинка в наложении на реальную графику:

 

73dc57d58e70485be35f0a104190e897.png

 

 

UPD. 1: Для придания дополнительной четкости советую обратиться к методу, описанному в этой статье.

 

"Звенящей" вам резкости и успехов на полях сражений!

Edited by DotNetFramework
  • Upvote 7

Share this post


Link to post

Short link
Share on other sites

Зачем изобретать велосипед? Paint.NET спокойно справляеться с поставленой задачей =) А картинка для привличения внимания работает однако =)

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Зачем изобретать велосипед? Paint.NET спокойно справляеться с поставленой задачей =) А картинка для привличения внимания работает однако =)

Это продвинутый велосипед. Если вы, конечно, видите разницу (слева ImajeJ, справа - Paint.NET (специально поставил, чтобы убедиться)):

 

478db81b0e77f46c53569b945b725ee0.png

 

3c77c3a988447c498c69c72eaa41f0ef.png

 

Paint.NET не справляется с задачей.

Edited by DotNetFramework
  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

Если вы, конечно, видите разницу

В таком размере и от Paint'a не увижу.

  • Upvote 1
  • Downvote 1

Share this post


Link to post

Short link
Share on other sites

Около миникарты. Видите разницу?

Правая иконка немного чётче левой. Но как и сказал Mr A - в таком размере не так уж и заметно.

Возможно это актуально для текста.

Share this post


Link to post

Short link
Share on other sites

Правая иконка немного чётче левой. Но как и сказал Mr A - в таком размере не так уж и заметно.

Возможно это актуально для текста.

 

Не-не-не, текст, как показала практика, лучше "рендерить" самому в CS5/6. Там сглаживание хорошее сделали для шрифтов. ImajeJ со шрифтами работает крайне убого, imho.

А по поводу предложенного мной метода - кому такая точность интерполяции нужна - будет использовать. Кому нет - не будет.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

К чему примеры ресайза, если они не имеют элементов полупрозрачности?

Можно прикрепить пример ресайза из действтельно большой картинки ~3000х2000 уменшив до ~1000х700 без манипуляций над резкостью?

Edited by minooz
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

К чему примеры ресайза, если они не имеют элементов полупрозрачности?

Можно прикрепить пример ресайза из действтельно большой картинки ~3000х2000 уменшив до ~1000х700 без манипуляций над резкостью?

 

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

 

'Пример 1'

'Оригинал'

_76e1053ca6b5803cce05b971c262a994.jpg?no

'Ресайз'

dab0defb04dcde6a0e51d34f3dbbe8e1.png

'Пример 2'

'Оригинал'

95597bb6e0d6dc1fdb21670e234fafa0.jpg

'Ресайз'

865feba952972bb6d38e562b2929d011.png
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

, Вот спасибо, теперь понятно, это конкретно этот способ или сама прога ImajeJ?

Share this post


Link to post

Short link
Share on other sites

, Вот спасибо, теперь понятно, это конкретно этот способ или сама прога ImajeJ?

 

ImajeJ делает точный ресайз. На примерах видно, что он не "замыливает" "мелкие" текстуры и детали. И всё. Но он не умеет работать с масками прозрачности, поэтому просто гробит их. Предложенный метод позволяет обойти это ограничение, путем разделения исходника на 2 части - картинку без полупрозрачных элементов и черно-белую маску прозрачности. Потом они ресайзятся раздельно и объединяются в единое изображение.

Edited by DotNetFramework
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

ImajeJ делает точный ресайз. На примерах видно, что он не "замыливает" "мелкие" текстуры и детали. И всё. Но он не умеет работать с масками прозрачности, поэтому просто гробит их. Предложенный метод позволяет обойти это ограничение, путем разделения исходника на 2 части - картинку без полупрозрачных элементов и черно-белую маску прозрачности. Потом они ресайзятся раздельно и объединяются в единое изображение.

О!

Вот ЭТИМ и замени описание ImajeJ в шапке.

Чтобы ДО описания процесса было понятно что и как мы пытаемся сделать. Из самого описания это не очень-то и понятно.

Тогда бы и вопросов меньше бы возникло бы... ))

 

Ну и картинки хорошо бы в шапку покрупнее и сравнимее.

Т.е. там, под танком хотелось бы видеть (в ряд!):

1) крупную полупрозрачную картинку (исходник), 300х300 например;

2) ресайз до хорошо видимых деталей 64х64 просто фотошопом (или паинтом);

3) ресайз описанным способом 64х64.

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

Share this post


Link to post

Short link
Share on other sites

Готово.

Почти... ))

С ImageJ всё теперь наглядно. :no1:

 

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

Тема же о них? ))

Share this post


Link to post

Short link
Share on other sites

У меня не работает программа "ImageJ Resize Launcher 3.3.1"! Нажимаю на кнопку start создается папка, а в папке ничего нет! Может кто-нибудь знает как это исправить?

Share this post


Link to post

Short link
Share on other sites

У меня не работает программа "ImageJ Resize Launcher 3.3.1"! Нажимаю на кнопку start создается папка, а в папке ничего нет! Может кто-нибудь знает как это исправить?

Какой тип файла (тип, разрядность, параметры сжатия) подаете на вход? Какой задание выходной размер?

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Какой тип файла (тип, разрядность, параметры сжатия) подаете на вход? Какой задание выходной размер?

Для того что бы проверить программу я взял картинку с расширением JPEG и размером 1920х1200. В программе все выделил как на скиншоте

post-9728-0-33591200-1384692486_thumb.png

Edited by aaturlan

Share this post


Link to post

Short link
Share on other sites

Для того что бы проверить программу я взял картинку с расширением JPEG и размером 1920х1200. В программе все выделил как на скиншоте

Попробуйте без точки с запятой. Просто требуемый размер выходного файла по длинной стороне.

Share this post


Link to post

Short link
Share on other sites

Попробуйте без точки с запятой. Просто требуемый размер выходного файла по длинной стороне.

Так тоже попробовал все равно создается папка а внутри ничего.

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...