On-line: MIKHAIL, гостей 1. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 6
Зарегистрирован: 28.01.11
ссылка на сообщение  Отправлено: 24.02.11 00:30. Заголовок: Артефакты FreeImage.dll - в чем косяк?


Скомпилировал пример MiniGUI\SAMPLES\Advanced\FREEVIEW\
При просмотре картинок заметил вот такой артефакт:

Оригинал в других программах выглядит как


Скомпилировал пример MiniGUI\SAMPLES\Advanced\FreeImage\, закинул эту же картинку - та же фигня. FreeImage.dll скачана сhttp://freeimage.sourceforge.net/download.html. В чем косяк?

Оригинал картинкиhttp://pics.qip.ru/002Sxl-3045AV5/


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 8 [только новые]





Не зарегистрирован
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 24.02.11 08:50. Заголовок: Клетчатое поле означ..


Клетчатое поле означает прозрачный фон. В некоторых просмотрщиках (скрин 1) он маскируется, в некоторых (скрин 2) обозначается бело-серым клетчатым полем.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 7
Зарегистрирован: 28.01.11
ссылка на сообщение  Отправлено: 24.02.11 12:51. Заголовок: Это я знаю, что проз..


Это я знаю, что прозрачный фон. Почему в примерах появляются артефакты? На других изображениях есть похожие косяки - где-то больше, где-то меньше. Меня интересует почему - это косяк библиотеки или реализации на харборе? Может окно как-то неправильно перерисовывается?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 24.02.11 14:09. Заголовок: Насчет того, чей кос..


Насчет того, чей косяк (библиотеки или харбора) не скажу, с изображениями не часто приходится работать. Кстати, не ислючается и третий вариант - косяк в самом изображении (например, в Paintе эта картинка тоже выводится криво).

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 10
Зарегистрирован: 28.01.11
ссылка на сообщение  Отправлено: 24.02.11 18:22. Заголовок: Если бы только на од..


Если бы только на одном файле, я бы еще подумал над третьим вариантом. Поскольку косяк именно на png файлах, то подобрал 20 файлов в этом формате - на всех схожие проблемы, только цвета заменяются необязательно на черный, а на разные оттенки серого - от светло-серого до черного. Может есть какой-то обходной путь? Я просто не понимаю куда дальше двигаться - менять dll на другую(какую?), отказаться от минигуя, использовть хHarbour?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 25.02.11 06:16. Заголовок: Мне кажется, если ст..


Мне кажется, если стандартный Paint выводит неправильно, то дело не харборе. Скорее всего имеют место какие-нибудь особенности формата.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 24.02.11
ссылка на сообщение  Отправлено: 25.02.11 06:29. Заголовок: Если картинок немног..


Если картинок немного, можно попробовать перерисовать их каким-нибудь редактором. Я как-то пробовал иконки в программу вставлять - похожая ерунда была. Вроде формат один, а половина иконок нормально выводится, половина криво. Перерисовка в редакторе иногда помогала.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 13.01.11
ссылка на сообщение  Отправлено: 25.02.11 09:36. Заголовок: в чем заключается ко..


в чем заключается косяк? все выглядит "правильно", так и должно быть.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 28
Зарегистрирован: 19.08.10
ссылка на сообщение  Отправлено: 02.03.11 22:15. Заголовок: Наверное, хотелось п..


Наверное, хотелось получить такое изображение?



Оригинал здесь:http://pics.qip.ru/002VWx-2045FpU/

FreeImage правильно его выводит. Надо только хорошенько попросить...
Примеры же не показывают пользуются всеми возможностями библиотек (да и кто всеми пользуется?)

Дело в том, что оригинальная картинка (см. 1-й пост) сделана с использованием альфа-канала, то есть BGRA. И вот этот самый канал не задействован при отрисовке файла на форме. Бороться с эти можно разными способами, в зависимости от задач. Причем средствами FreeImage. Можно, например, преобразовать (а не отключить альфа-канал! он и так не используется...) в BGR (то есть в 24-х битную модель - используй FI_CONVERTTO24BITS () ). Можно при загрузке именно .png попробовать вторым параметром использовать не PNG_DEFAULT, а PNG_IGNOREGAMMA, можно дополнительно в JPG/BMP/... конвертнуть файл и уже его на форму выводить, можно масками играться и т.д. Все это замечательно в официальном хелпе к FreeImage описано. Можно в сети на русском поискать.
Еще можно с WIN API поиграться в плане того, как там рисовать - но не подскажу: давно было и за ненадобностью успешно подзабыл.

Но в реальных программах лучше такие шикарные картинки не использовать: все-таки базы данных - не графический редактор

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 239
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет