![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| sono |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 10.1.2008 Где: KHARKOV Репутация: нет Всего: -1 |
Вот задачка -есть изображение битмап 32х32 (или 64х64) надо сохранить в формате .ico
Казалось проблемы то и быть неможет так как подобные примеры уже рассматривались но там только для 8 битных цветов . Вот к примеру те примеры уже не работают для извлечения ярлыков из Word и Exel так как там ярлыки походу сложные . Что делать. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
sono, чет я не понял, нужно битмапку в ico превратить или узнать какая иконка используется у ярлыка?
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| sono |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 10.1.2008 Где: KHARKOV Репутация: нет Всего: -1 |
Alexeis, нужно битмапку в ico превратить , я просто привёл случай где я обламался -- т.е. с обычными иконками (32х32 8-bit) у меня всё получилось а , повторюся, извлекая сложный иконку на битмап (из тогоже word, ...) и сохраняя её в файл происходит потеря цвета . Короче всё происходит так:
Короче так понимаю нужна какаято альтернатива ic.SaveToFile('tt.ico'); ....? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Да, совершенно верно. Иконка состоит из 2х частей секции IconDir в которой перечисляются все кадры иконки и собственно самих иконок. Чтобы сохранить иконку, нужно создать эту самую IconDir, затем получить цвета XOR маски (для 32х битный она единственная). В загруженном состоянии битмапка иконки это DDB, потому ее сначала прийдеться сконвертировать в DIB, для того чтобы получить доступ массиву цветов, после этого следует с тот же файл где сейчас находиться IconDir записать заголовок BITMAPINFOHEADER и массив цветов. Если иконка не 32х битная, то записываются 2е битмапки XOR маска и AND маска, в формате 1 бит на пиксел. Вообще, формат иконок есть в MSDN очень подробно описан http://msdn2.microsoft.com/en-us/library/ms997538.aspx -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| sono |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 10.1.2008 Где: KHARKOV Репутация: нет Всего: -1 |
Alexeis, спасибо есть над чем поразмышлять...
Добавлено через 10 минут и 20 секунд Alexeis, т.к. my english so bad то разбор http://msdn2.microsoft.com/en-us/library/ms997538.aspx прийдётся перенести до лучших времён . Ну спасибо и за это. |
|||
|
||||
| sono |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 10.1.2008 Где: KHARKOV Репутация: нет Всего: -1 |
Alexeis, Хотя погодите данная ссылка на предложенном URL ---вполне решила мою проблему (сразу не обратил внимание) .
Alexeis ну вам просто честь и хвала!!! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |