Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Окно в форме картинки 
:(
    Опции темы
GremlinProg
Дата 8.12.2010, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(TGrey @  7.12.2010,  18:25 Найти цитируемый пост)
Так, уточню. Тобишь PNG формат загрузится через LoadImage, или что PNG, что Битмап надо грузить через секции?

загрузи пример, там же есть исходник
Цитата(TGrey @  7.12.2010,  18:25 Найти цитируемый пост)
Кстати какой редактор то? МСПэинт подойдет? Или фотошоп? И как это хоть сделать)?

можно фотошопом, но я не особо ему доверяю в плане полутонов,
а вот у Paint.Net есть очень удобная палитра, в которой этой альфой можно как рисовать,
так и сохранять с ней полноценные растры: http://forums.getpaint.net/index.php?/topi...t-for-paintnet/

у Paint.Net это формат  *.bmpx, т.е. это тот же 32-битный битмап (т.е. формат обычного битмапа), но уже с альфа-составляющей

ps: на сколько понял, плагин bmpx на данный момент поставляется в базовой комплектации редактора


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
TGrey
Дата 8.12.2010, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: 1
Всего: 1



Исходник то есть, но и БМП там 32битовый, но я что-то не пойму, что нужно сделать, чтобы получить такую картинку. Скачал Пэинт НЭТ, чем рисовать этот альфа канал, что-то не понял. smile 
PM MAIL   Вверх
TGrey
Дата 8.12.2010, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 1.12.2007

Репутация: 1
Всего: 1



Так ну все, я нашел в гугле, как создавать этот канал, буду пробовать кодить. Если кто еще наткнется на эту тему вот еще пару полезных ссылок.
http://www.codeproject.com/KB/buttons/Tran...tonNetDemo.aspx
http://www.axialis.com/tutorials/tutorial-misc001.html
http://stackoverflow.com/questions/307348/...channel-bitmaps
PM MAIL   Вверх
GremlinProg
Дата 9.12.2010, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(TGrey @  8.12.2010,  21:42 Найти цитируемый пост)
чем рисовать этот альфа канал

создаешь например 2 слоя, на верхнем рисуешь что-нибудь, цвет выбираешь из палитры,
только разверни эту палитру (кнопка "Больше >>"),
там будет бегунок "прозрачность (альфа)" 0 - прозрачный, 255 - непрозрачный

так и рисовать, а потом сохранить рисунок как *.bmpx


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
AntonN
Дата 10.1.2011, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: нет
Всего: 18



Цитата(GremlinProg @ 6.12.2010,  09:41)
Цитата(TGrey @  4.12.2010,  22:04 Найти цитируемый пост)
на скрине, видно, что очертание рисунка пострадало. А на том скрине, что я привел, там даже тени имеются от рисунка.

эту проблему немного обсуждали тут: http://forum.vingrad.ru/forum/topic-264876...258C/index.html

Добавлено @ 09:46
кстати, загляни еще раз в RSDN, присмотрись к прозрачной картинке с текстом RSDN, видишь, шум есть даже там smile)

Не надо править в редакторе исходное изображение, UpdatelayeredWindow использует упрощенную формулу бленда, нужно перед самым ее использованием у битмапа все каналы умножить на альфу (т.е. они затемнятся).
В принципе такое можно сделать и в редакторе, но если изображение формируется динамически или из нескольких спрайтов, то такой способ недопустим.


--------------------
user posted image
PM MAIL WWW   Вверх
GremlinProg
Дата 10.1.2011, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(AntonN @  10.1.2011,  13:34 Найти цитируемый пост)
Не надо править в редакторе исходное изображение, UpdatelayeredWindow использует упрощенную формулу бленда, нужно перед самым ее использованием у битмапа все каналы умножить на альфу (т.е. они затемнятся).

упрощенная формула бленда к шуму на краях полутонового растра с тенями не имеет ни какого отношения


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
AntonN
Дата 10.1.2011, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: нет
Всего: 18



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

user posted image

Это сообщение отредактировал(а) AntonN - 10.1.2011, 19:09


--------------------
user posted image
PM MAIL WWW   Вверх
GremlinProg
Дата 10.1.2011, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



аха, прямо,
давай вот так же этот сделай:
Цитата(TGrey @  4.12.2010,  21:13 Найти цитируемый пост)

Но вообще меня интересует вот такой результат.
http://www.codeproject.com/KB/GDI/pxalphablend/img2.gif

:))


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
AntonN
Дата 11.1.2011, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: нет
Всего: 18



user posted image


--------------------
user posted image
PM MAIL WWW   Вверх
GremlinProg
Дата 11.1.2011, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



ну, махинации с альфой тут не пройдут, я же говорю, "сделай с этим", а не так же :))
умножай альфу вот на этом растре:
user posted image
и покажи его к примеру на зеленом или черном фоне


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Dem_max
Дата 11.1.2011, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 16
Всего: 39



Кому интересно вот исходник с примером.

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  WinAsPicture.zip 169,75 Kb


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
AntonN
Дата 11.1.2011, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: нет
Всего: 18



Цитата

я же говорю, "сделай с этим", а не так же smile)

-->
Цитата

вот так же этот сделай:


Цитата

умножай альфу вот на этом растре:

в нем нет альфы


--------------------
user posted image
PM MAIL WWW   Вверх
GremlinProg
Дата 12.1.2011, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(AntonN @  12.1.2011,  00:26 Найти цитируемый пост)

-->
Цитата(GremlinProg @  10.1.2011,  23:28 Найти цитируемый пост)
вот так же этот сделай


Цитата(AntonN @  12.1.2011,  00:26 Найти цитируемый пост)
в нем нет альфы

поэтому я и говорю:
Цитата(GremlinProg @  10.1.2011,  15:03 Найти цитируемый пост)
ни какого отношения

"Безумству храбрых поем мы песню..." :))

Это сообщение отредактировал(а) GremlinProg - 12.1.2011, 09:16


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
AntonN
Дата 12.1.2011, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: нет
Всего: 18



У него был альфаканал. А в 11 при попытке сделать его bmp - формат менялся.
Но пой, пой.. smile

Кстати, для собирания bmp 32-битного я написал себе давно утилитку, чтобы от фотошопов не зависеть. Если кому надо - дам ссылку


--------------------
user posted image
PM MAIL WWW   Вверх
GremlinProg
Дата 13.1.2011, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(AntonN @  12.1.2011,  23:58 Найти цитируемый пост)
У него был альфаканал

AntonN, ты сейчас пытаешься всем доказать, что SetLayeredWindowAttributes,
который задействовал 586 в своем примере: http://forum.vingrad.ru/index.php?showtopi...t&p=2259943 , использует какой-то альфаканал рисуемого растра (той самой ёлочки)

будешь дальше продолжать бессмысленную болтовню, получишь втык за оффтоп,
это первое и последнее предупреждение (раз уж вникать в проблему топика ты не желаешь)
Цитата(AntonN @  12.1.2011,  23:58 Найти цитируемый пост)
Кстати, для собирания bmp 32-битного я написал себе давно утилитку, чтобы от фотошопов не зависеть. Если кому надо - дам ссылку

для собирания bmp 32-битного все уже давно написано,
и даже собрав этот bmp, без дополнительной модификации битмапа (построения альфаканала)
и использования UpdateLayeredWindow, либо AlphaBlend ты не получишь результат, продемонстрированный на первом скрине от TGrey


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1044 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.