20 / 20 / 1
Регистрация: 30.01.2013
Сообщений: 99
|
|
1 | |
Создание прозрачного окна на GDI+12.02.2018, 02:57. Показов 3751. Ответов 15
Метки нет (Все метки)
Доброго времени
Возник вопрос можно ли сделать вывод на экран картинки с прозрачными краями. По идее это должен быть апдейтер, но получается так что он вы водится без прозрачных краев. как должно быть https://www.cyberforum.ru/atta... 1518392762 и как получается с помощью win32 GDI+ через регионы обрезаю края и вывожу. https://www.cyberforum.ru/atta... 1518393134 от чего зависит такой эффект вывода картинки? буду очень вам признателен за любые ответы.
0
|
12.02.2018, 02:57 | |
Ответы с готовыми решениями:
15
Получение цвета прозрачного окна Создание прозрачного фона в GD Создание прозрачного призрака-силуэта Создание прозрачного фона в тексте в Unity3D |
2710 / 864 / 327
Регистрация: 10.02.2018
Сообщений: 2,044
|
|
12.02.2018, 09:34 | 2 |
От альфы (прозрачности) зависит. На втором скрине, в левом нижнем углу как раз про неё речь под картинкой). Каждый пиксель картинки может быть не только полностью прозрачным или не прозрачным, но и иметь частичную прозрачность. На втором скрине ясно видно отсутствие полупрозрачностей.
0
|
20 / 20 / 1
Регистрация: 30.01.2013
Сообщений: 99
|
|
12.02.2018, 15:45 [ТС] | 3 |
как можно добавить эту полу полупрозрачность, какие параметры за это отвечают?
Добавлено через 42 минуты Готов не много денежкой вознаградить за помощь.
0
|
2710 / 864 / 327
Регистрация: 10.02.2018
Сообщений: 2,044
|
|
12.02.2018, 18:04 | 4 |
Прозрачность создаёт художник рисующий арт, она сохраняется в картинке. Если в вашей исходной картинке её нет, то нужно найти другую картинку, где она есть. Показать на экране можно с помощью "layered windows", например.
В приложении простенький пример.
0
|
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
|
||||||||||||||||||||||||||||||||||||
12.02.2018, 18:05 | 5 | |||||||||||||||||||||||||||||||||||
Sir1us, для начала у вас должна быть картинка с полупрозрачностью в формате png.
Затем создаём окно, например, так:
1
|
20 / 20 / 1
Регистрация: 30.01.2013
Сообщений: 99
|
|
12.02.2018, 22:07 [ТС] | 7 |
8Observer8 спасибо, но есть полностью PSD рисунок.
Вот такой результат выходит как советует Ygg это не совсем то что нужно https://www.cyberforum.ru/atta... 1518461770 Насчет второго варианта не совсем разобрался, но вижу что оно делает сразу полупрозрачный фон. буду сейчас разбираться дальше. Нужно что бы вышло как на скрине https://www.cyberforum.ru/atta... 1518461773 картинка идет можно сказать градиентом плавно переходит с заполненного фона цветом, в прозрачный.
0
|
2710 / 864 / 327
Регистрация: 10.02.2018
Сообщений: 2,044
|
|||||||||||
12.02.2018, 23:06 | 8 | ||||||||||
Сообщение было отмечено Sir1us как решение
Решение
В документации к этим окнам было сказано, что нужна premultyplay картинка. Т.е. цвета пикселей должны быть помножены на нормализованную прозрачность (при 8ми битах: alpha/255). Можно попробовать при загрузке картинки добавить преобразование или в редакторе опции поискать соответствующие.
Добавлено через 7 минут Неправильно написал слово "premultiply" Добавлено через 32 минуты Как вариант, поставить после кода
1
|
20 / 20 / 1
Регистрация: 30.01.2013
Сообщений: 99
|
|
12.02.2018, 23:18 [ТС] | 9 |
действительно очень хорошо выходит, добавите меня в скайп что бы я мог вас отблагодарить и уточнить нюансы sir1us_adm
0
|
2710 / 864 / 327
Регистрация: 10.02.2018
Сообщений: 2,044
|
|
12.02.2018, 23:39 | 10 |
Sir1us, смог помочь и хорошо, дополнительные благодарности излишни.
1
|
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
|
|
12.02.2018, 23:51 | 11 |
Зачем нужно морочить человеку голову этим? Чтобы код сработал, нужно загружать предварительно подготовленную png-картинку, а не загружать всё подряд и потом только обрабатывать "неправильную" картинку уже дополнительным кодом. Костыли какие-то...А если автор позже заменит картинку на подготовленную, что это получится? Естественно не то, что ожидается.
Многослойные окна - хорошая штука - можно делать всякие красивости. Но есть определённые сложности. Как-то делал погодный информатор: png-картинка и результат Правда пришлось еще поизвращаться с кнопками и надписями: это ж уже не обычное окно, а, по своей сути, - графический холст.
2
|
20 / 20 / 1
Регистрация: 30.01.2013
Сообщений: 99
|
|
13.02.2018, 00:32 [ТС] | 12 |
0
|
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
|
|
13.02.2018, 00:47 | 13 |
я делаю так в Фотошопе: отключаю все фоновые слои (если есть), добиваюсь такого вида изображения, которое должно получится в результате. Затем File -> Save As / PNG, галочка "Interlaced" установлена.
Так что, если есть проблема с картинкой уже в вашей программе, то внимательно пересмотрите, всё ли вы лишнее отключили на этапе её создания в фотошоп.
1
|
20 / 20 / 1
Регистрация: 30.01.2013
Сообщений: 99
|
|
13.02.2018, 05:20 [ТС] | 14 |
Igor-84
а вы можете выложить скомпилированный код? У меня не совсем получается изображение на экран.
0
|
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
|
|
13.02.2018, 14:18 | 15 |
Пожалуйста (exe + картинка), Splash.rar
Также попробуйте подкинуть в папку с программой своё png-изображение, только переименуйте файл в test.png.
0
|
45 / 33 / 15
Регистрация: 29.04.2014
Сообщений: 225
|
||||||
02.12.2018, 22:37 | 16 | |||||
Не забудьте прибавить 127:
0
|
02.12.2018, 22:37 | |
02.12.2018, 22:37 | |
Помогаю со студенческими работами здесь
16
Есть ли в WPF полноценная замена GDI+? Чтобы можно было всё, что можно в GDI+? Просто думаю углубляться в работу с изображениями в WPF или GDI. GDI FillRect, видно мерцание на месте контрола при движении окна Создание bmp средствами gdi Создание классов геометрических фигур, рисование на GDI (MFC) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |