Как сделать самому drivebmp

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

MiLaR
Сообщения: 69
Зарегистрирован: Чт дек 23, 2004 00:53

Как сделать самому drivebmp

Сообщение MiLaR »

Подскажите как самому создать библиотеку с иконками дисков для TC.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Лучше и проще будет не создавать новую, а отредактировать старую. Для этого нужен редактор ресурсов и любой графический редактор (если, конечно, нету уже встроенного в этот редактор ресурсов). Извлекаешь нужный ресурс (название ресурса говорит о его назначении) в файл BMP и меняешь (перерисовываешь) его под себя. Затем, уже измененный, загоняешь обратно в тот-же самый ресурс.
Из редакторов ресурсов можно порекомендовать, например, Resource Hacker. Обрати только внимание, что для задания прозрачности для некоторого цвета нужно самый нижний левый пиксель картинки окрасить именно в этот цвет.
MiLaR
Сообщения: 69
Зарегистрирован: Чт дек 23, 2004 00:53

Сообщение MiLaR »

Пасибо, это понятно, просто интересно как его самому заделать.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Поставить некую среду программирования, например Delphi и создать в ней проект типа Resource DLL. Укомплектовать нужными битмапами и скомпилировать в DLL-файлик.
Неужели это будет проще, чем я сразу описал? :?
Аватара пользователя
aLLigator
Сообщения: 167
Зарегистрирован: Чт дек 01, 2011 11:21
Откуда: из тех ворот, что и весь народ...

Сообщение aLLigator »

Приходится реанимировать древнюю тему, но она наиболее близка к тому, что мне необходимо.

В ТС 8.5 добавилось два новых изображения для отображения дисков - DISKCOMPUTER.bmp и DISKDOCUMENTS.bmp.
Отредактировать прежнюю ДЛЛку не проблема, а вот добавить в неё два новых изображения никак.
Есть ли у кого возможность подготовить новый образец такой ДЛЛки?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Resource Hacker позволяет добавлять ресурсы. А ещё он позволяет экспортировать ресурс в RES-файл, тогда при добавлении ресурса в другой файл все поля идентификации нового ресурса будут уже заполнены. Т.е. нужно лишь экспортировать нужные изображения из TOTALCMD.exe в RES-файлы и импортировать их из этих файлов в DLL.
Аватара пользователя
aLLigator
Сообщения: 167
Зарегистрирован: Чт дек 01, 2011 11:21
Откуда: из тех ворот, что и весь народ...

Сообщение aLLigator »

MVV писал(а):Resource Hacker позволяет добавлять ресурсы.
Спасибо за информацию!

Но все же выкладываю готовую, может кому так же понадобится для редактирования.
drivebmp.dll

Изображения дисков на основе стандартных ТС, но слегка видоизменены под личные предпочтения.

[mod="Avada"]Нарушающая правила форума картинка заменена ссылкой.[/mod]
Аватара пользователя
alexey65536
Сообщения: 1056
Зарегистрирован: Пт янв 20, 2006 10:58
Откуда: Taganrog

Сообщение alexey65536 »

aLLigator
Можно вас попросить собрать DLL со значками в стиле ХР + два новых значка в том же стиле (DISKCOMPUTER и DISKDOCUMENTS)?
Есть файл DLL без новых иконок, есть нужные иконки отдельно - я их вытащил из системных файлов в виде ICO, но дальше начались сложности:)
Файлы в архиве - http://rghost.ru/53260926
Прошу помочь тех, кто разбирается в ресурсах, прозрачности и т.д. лучше меня:) Спасибо!

Добавлено спустя 1 час 11 минут:
MVV
В системных DLL - значки типа ICO с прозрачностью (еще и разных размеров), а в drivebmp - BMP c цветным фоном. Влет у меня ничего не получилось (что такое Restorator, Microangelo и т.д. - в курсе):)
Сейчас специально попробовал - битмап иконкой заменить ResHacker не дает. Тут как-то по-другому надо...
#199018
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

alexey65536,
Плагин Imagine (думаю, есть и куча других средств) позволяет копировать содержимое иконок нужного размера в буфер, дальше - в любом графическом редакторе создать битмап и залить окружение сплошным цветом, чтобы левый верхний и левый нижний пиксели были этого цвета (задают прозрачность).
Аватара пользователя
alexey65536
Сообщения: 1056
Зарегистрирован: Пт янв 20, 2006 10:58
Откуда: Taganrog

Сообщение alexey65536 »

MVV
Я сделал, с помощью Paint, Restorator и такой-то матери. Но результат не очень нравится (контуры в значке "Мой компьютер" не идеальны). Был бы признателен, если бы более опытные товарищи сделали как надо.
Изображение
ps. Вот сам измененный файл - может, кому пригодится - http://rghost.ru/53286517
#199018
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А ты брал за основу вариант значка 16х16? Если брать больший и уменьшать, конечно будет нечетко.
Аватара пользователя
alexey65536
Сообщения: 1056
Зарегистрирован: Пт янв 20, 2006 10:58
Откуда: Taganrog

Сообщение alexey65536 »

Я брал 16х16, т.к. в drivebmp он такого размера и есть.
#199018
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Там, кстати, два 16х16. Один 8-битный, второй 32-битный, прозрачность с альфа-каналом... Его по-хорошему надо наложить на однотонный цвет, но тогда на фоне другого цвета полупрозрачные области будут этим цветом отливать. А 8-битный смотрится не айс без антиалиасинга.
Аватара пользователя
alexey65536
Сообщения: 1056
Зарегистрирован: Пт янв 20, 2006 10:58
Откуда: Taganrog

Сообщение alexey65536 »

В системных значках - каких только битностей и разрешений нет, действительно. А вот в файлах типа drivebmp.dll тех, что я видел, везде только BMP 16x16x24bit. Там сам формат прозрачность не поддерживает. Хотя, может, Гислер ее эмулирует засчет того самого углового пикселя...
#199018
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Именно. Во многих приложениях при работе с форматами, не поддерживающими прозрачность, левый верхний пиксель (первый пиксель в файле) задаёт прозрачный цвет (получается монохромная маска прозрачности, которая в отличие от альфа-канала не поддерживает полупрозрачность). Т.к. некоторые BMP могут сохраняться с инверсным порядком строк, волшебный пиксель может быть левым нижним. И серо-буро-зелёный цвет заливки в drivebmp как раз играет роль прозрачного цвета (иногда используют малиновый; это должен быть ненужный цвет, т.к. его не будет видно), но он может быть любым, программа определит его по волшебному пикселю.
Ответить