Не проходи мимо:). А как сохранить картинку в GIF?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

Не проходи мимо:). А как сохранить картинку в GIF?

Сообщение Sasha_karasov » 03.03.2005 (Чт) 22:10

:?: :?: :?: А как сохранить картинку в GIF? :?: :?: :?:
Если можно объясните что вы делали.
Заранее благодарен

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 03.03.2005 (Чт) 22:13

Искали по форуму.
Быть... или не быть. Вот. В чём вопрос?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 03.03.2005 (Чт) 22:15

Чудо-обёртка для GDI+

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.03.2005 (Пт) 7:10

Изображение

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 04.03.2005 (Пт) 8:35

Amed писал(а):Чудо-обёртка для GDI+


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

Так что я, когда делал граббер для пользователей программы, сохранял по умолчанию в png-формат - никаких искажений цвета при тех-же размерах (это касается, как я говорил выше, скриншотов обычной программы). Для фоток - лучше JPG-формат. Так что GIF для меня тогда вообще отпал как формат.

Все это можно сделать с помощью того-же GDI+, дистрибутив которого (для старых версиий Windows) можно найти на сайте MS. А обертку для удобства работы - в интернете - их много было, может и на этом сайте есть - но я не смотрел... Help по работе с оберточками, обычно в основном совпадает с VB.NET-овским на ту-же тему...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 04.03.2005 (Пт) 9:05

Вообще-то GIF не теряет качество; этим он от JPG различается принципиально.
Качество может теряться только из-за недостатка цветов в палитре; в этом случае недостающие цвета синтезируются растеризацией. Но для большинства экранных скриншотов 256 цветов хватает с головой.
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.03.2005 (Пт) 9:16

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

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 04.03.2005 (Пт) 9:42

tyomitch писал(а):Andrey, по моей ссылке двумя постами выше лежит как раз пример сохранения в GIF без потери качества. Естественно, что это возможно только для картинок с не более чем 256 уникальными цветами.


Скриншот даже простейшей формы легко может содержать > 256 цветов - только из-за градиента заголовка или иконок. В результате, при сохранении в Gif, могут быть искажены цвета не только заголовка но и формы. Png сохранит эту-же форму при таком-же размере файла (а иногда и меньшем) но гарантированно без искажений.

А "без потери качества" - разные программы сохраняют по разному. Очень плохо, к примеру, сохраняет обычный Paint. SnagIt (который я пользую) сохраняет в большинстве случаев практически без искажений, но иногда и у него бывают осечки. То бишь - зачем играть в лотерею, когда можно гарантированно получать отличную картинку?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.03.2005 (Пт) 9:52

Ну не знаю...
Png у меня получаются всегда втрое больше gif.

Правда, я юзаю фотошоп :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 04.03.2005 (Пт) 10:37

GSerg писал(а):Ну не знаю...
Png у меня получаются всегда втрое больше gif.

Правда, я юзаю фотошоп :)


Кстати, от программы, которая сохраняет многое зависит - они по разному жмут! И разница бывает значительна.

Когда я делал граббер я использовал вот эту DLL-ку http://jansfreeware.com/jangraphics.zip.

Очень простая в применении и файлы ( Png ) сохраняет довольно компактно. Обертки к GDI+ появились позже - с ними я экспериментов на этот счет не проводил...

А так - вот прилагаю два скриншотика одной и той-же формы в различных форматах - какой меньше - посмотри... Делал первую попавшеюся, а в реалии иногда немного меньше занимает GIF, иногда PNG. В общем, я считаю что они для данного применения они дают файлы примерно равного размера, но PNG лучше из-за того что все формы сохраняет без искажений.
Вложения
CompFmt.rar
(32.98 Кб) Скачиваний: 32
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 04.03.2005 (Пт) 11:49

Andrey Fedorov писал(а):
tyomitch писал(а):Andrey, по моей ссылке двумя постами выше лежит как раз пример сохранения в GIF без потери качества. Естественно, что это возможно только для картинок с не более чем 256 уникальными цветами.


Скриншот даже простейшей формы легко может содержать > 256 цветов - только из-за градиента заголовка или иконок. В результате, при сохранении в Gif, могут быть искажены цвета не только заголовка но и формы. Png сохранит эту-же форму при таком-же размере файла (а иногда и меньшем) но гарантированно без искажений.

А "без потери качества" - разные программы сохраняют по разному. Очень плохо, к примеру, сохраняет обычный Paint. SnagIt (который я пользую) сохраняет в большинстве случаев практически без искажений, но иногда и у него бывают осечки. То бишь - зачем играть в лотерею, когда можно гарантированно получать отличную картинку?

Фишка моей проги в том, что не просто не вносятся видимые искажения, а вообще картинка бит-к-биту сохраняется. Ни одна из готовых прог, которые я знал к моменту её написания (в т.ч. ACD-See и IrfanView), так не умела.

А вообще, мне кажется, ты немножко не в теме. Спрашивают-то, как сохранить именно в GIF :-) С тем, что GIF - отстой, а PNG - рулез, я не спорю, но вопрос не об этом.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList