GD Star Rating
loading...
loading...
Друзья, помогите пожалуйста консультацией. В области программирования GUI, с использованием дефолтный функций винды. (если я ляпнул какую глупость – прошу извинить. не программист)
Если кто сможет найти пару минут на это дело – объясню подробнее.
(ну или пошлите нахрен, если я бред несу)
Ну так говори, чё за молк-то на пол-пути? Закидать тебя какашками мы всегда успеем – не переживай (:
ок. проблема такая: отдельные местные программисты утверждают, что переход от станд. функций винды для отображения всяческих рисованных элементов интерфейса, к например использованию png – это гемор. и потому дизайнеры сидите сука и рисуйте пиксельарт.
задачи по интерфейсу например такие – рисованный фон. на нём. движущийся (поворачивающийся) руль/штурвал
в общем я не понимаю – зря я наезжаю на них. Или надо наезжать сильнее. просто они меня терминами забрасывают и я ухожу обиженный.
Нихера не понял если честно. Объясни какая задача стоит и как сейчас реализовано.
: попробую.
(сейчас буду говорить слова, котоыре понимаю лишь частично)
на экран выводится например такая вот картинка:
Далее – поверх неё отрисовывается нажатие кнопок. поворот штурвальчиков. смена изображения на экранчике прибора.
Как я понимаю,сейчас для этого используются некие стандартные средства винды. И все элементы интерфейса отрисовываются в bmp без всяких полупрозрачностей и прочих излишеств.
: вопрос собственно в том – насколько трудоёмое переход к png с прозрачностью, для выполнения подобной задачи
: ну вообще прикрутить пнг через чистый винапи действительно сложновато, но вполне возможно.
: пиздят твои программисты. Если забить болт на поддержку Win98 (вот только не надо говорить, что они про него думают) и юзать GDI+, то всё будет пучком. Отправь программистов на MSDN, пусть комиксы почитают.
: а переход на “не чистый”? как мне говорили – проблема всплывает уже другая – проблема ресурсов и быстродействия при ресурсоёмких фоновых процессах realtime. тоже верно?
: да ладна? Грузишь картинку в память, пихаешь её в Bitmap и выводишь куда хочешь. Можно хоть хуи по битмапу программно рисовать и потом класть в окошки.
: (записывает)
можно чуть подробнее про GDI+? НУ,чтобы я знал что почитать/поискать самому, чтобы не плавать в посылании нахуй 🙂
:http://stackoverflow.com/questions/19054… ;
GDI+ сам умеет грузить PNG, даже ебать мозг с отрисовкой в bitmap руками не надо. Программистов уволить на хуй.
: понял. Читаю. Спасибо!
: проблема ресурсов и быстродействия решаетсятак
: Думаю задача не просто отрисовать PNG на окно, а сделать само окно неправильной формы.
В одном из наших проектов есть окошко, которое рисуется из PNG картинок:
Вот эти все закругления и тень – PNG.
Как сделано:
1. Создается окно с со стилем WS_EX_LAYERED
2. Подгружаем “скин” содержащий все картинки в разные Gdiplus::Image, которые поддерживают PNG
3. При создании окна или действиями с ним отрисовываем скин, то есть картинки из Gdiplus::Image просто вызвав у него метод DrawImage в буфер
4. Херачим сформированную в буфере картинку на окно вызвав UpdateLayeredWindow с флагом ULW_ALPHA используя BLENDFUNCTION
5. Профит.
I’m sorry, а зачем вообще гемор с GDI+, давным давно есть WPF – чего не хватает то?
: В смысле нафиг PHP то вообще под вынь?
: судя по тому, что приложение использует WinAPI, оно написано на плюсах. Переписать на шарп и WPF может занять слишком много времени.
: угу. на плюсах. ровно так и есть. и про переписывание – практически так и гооврили
: во-первых, да, но, во-вторых, человек вроде сверху показал что надо, поэтому не (:
: Что человек показал как раз вроде окно неправильно формы)