Автор | Сообщение |
|
| |
Пост N: 6
Зарегистрирован: 28.01.11
|
|
Отправлено: 24.02.11 00:30. Заголовок: Артефакты FreeImage.dll - в чем косяк?
|
|
|
Ответов - 8
[только новые]
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 24.02.11
|
|
Отправлено: 24.02.11 08:50. Заголовок: Клетчатое поле означ..
Клетчатое поле означает прозрачный фон. В некоторых просмотрщиках (скрин 1) он маскируется, в некоторых (скрин 2) обозначается бело-серым клетчатым полем.
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 28.01.11
|
|
Отправлено: 24.02.11 12:51. Заголовок: Это я знаю, что проз..
Это я знаю, что прозрачный фон. Почему в примерах появляются артефакты? На других изображениях есть похожие косяки - где-то больше, где-то меньше. Меня интересует почему - это косяк библиотеки или реализации на харборе? Может окно как-то неправильно перерисовывается?
|
|
|
|
| |
Пост N: 2
Зарегистрирован: 24.02.11
|
|
Отправлено: 24.02.11 14:09. Заголовок: Насчет того, чей кос..
Насчет того, чей косяк (библиотеки или харбора) не скажу, с изображениями не часто приходится работать. Кстати, не ислючается и третий вариант - косяк в самом изображении (например, в Paintе эта картинка тоже выводится криво).
|
|
|
|
| |
Пост N: 10
Зарегистрирован: 28.01.11
|
|
Отправлено: 24.02.11 18:22. Заголовок: Если бы только на од..
Если бы только на одном файле, я бы еще подумал над третьим вариантом. Поскольку косяк именно на png файлах, то подобрал 20 файлов в этом формате - на всех схожие проблемы, только цвета заменяются необязательно на черный, а на разные оттенки серого - от светло-серого до черного. Может есть какой-то обходной путь? Я просто не понимаю куда дальше двигаться - менять dll на другую(какую?), отказаться от минигуя, использовть хHarbour?
|
|
|
|
| |
Пост N: 3
Зарегистрирован: 24.02.11
|
|
Отправлено: 25.02.11 06:16. Заголовок: Мне кажется, если ст..
Мне кажется, если стандартный Paint выводит неправильно, то дело не харборе. Скорее всего имеют место какие-нибудь особенности формата.
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 24.02.11
|
|
Отправлено: 25.02.11 06:29. Заголовок: Если картинок немног..
Если картинок немного, можно попробовать перерисовать их каким-нибудь редактором. Я как-то пробовал иконки в программу вставлять - похожая ерунда была. Вроде формат один, а половина иконок нормально выводится, половина криво. Перерисовка в редакторе иногда помогала.
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 13.01.11
|
|
Отправлено: 25.02.11 09:36. Заголовок: в чем заключается ко..
в чем заключается косяк? все выглядит "правильно", так и должно быть.
|
|
|
|
| |
Пост 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 поиграться в плане того, как там рисовать - но не подскажу: давно было и за ненадобностью успешно подзабыл. Но в реальных программах лучше такие шикарные картинки не использовать: все-таки базы данных - не графический редактор
|
|
|
|