Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 09.06.2010
Сообщений: 4

Builder C++ Форма на основе PNG изображения (GDI+,RocketDock,и т.д..)

14.12.2011, 01:02. Показов 1783. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Предлагаю обсудить вопрос о реализации форм на основе PNG текстур, как это применяется в
модерн скинах Винампа, в панелях типа РокетДок и т.п.

Есть простой способ сделать подобную форму и привожу пример:
http://img593.imageshack.us/im... anntql.png

По сути это Выставленные свойства формы GlassFrame соответственно доступно только на ОС с поддержкой "Аеро", а в других ОС альфа канал формы просто будет заменен на цвет формы.
От сюда вытекает следствие того что не практично юзать такого рода решения.
Облазив массу страничек я понял что вопрос по сей день открыт, и путного решения так и не нашел, "Регионы" и "ТранспарентФормы по цвету" как то не актуален, ибо если вы захотите создать своей программе действительно необычный стиль с тенью и прочими фишками....

Пишите предложения будем активно обсуждать и находить ответ, предлогайте варианты на GDI+ (вроде в винампе на этой библиотеке сделано)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2011, 01:02
Ответы с готовыми решениями:

GDI+ и прозрачность PNG
Редко программирую что-либо, но бывает. Помогите советом или примером в решении, как мне казалось, простой задачи: преобразование PNG...

Рисунок png + GDI
Господа в GDI полный ноль,хотелось бы узнать как вывести png при помощи GDI ,если можно , то более конкретно,как этот рисунок загрузить и...

Форма с полупрозрачным фоном GDI+
Доброе время суток! Уже давно ищу способ реализации формы, пример которой показан на рисунке во вложении... Она может быть не...

2
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
14.12.2011, 03:27
Цитата Сообщение от Cyberbbc Посмотреть сообщение
Пишите предложения будем активно обсуждать и находить ответ, предлагайте варианты...
вот и предложите свой вариант для начала "активного обсуждения" .
0
0 / 0 / 0
Регистрация: 09.06.2010
Сообщений: 4
14.12.2011, 09:58  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
вот и предложите свой вариант для начала "активного обсуждения" .
Предлагаю вариант:
Я вчера решил проэксперементирова и сделал следующее:
На Форму поместил Image присвоил ему PNG картинку с тень...ну тот квадрат что на картинке выше
Убрал у формы Бордюры.
Дальше реализовал элементарый код: (не привожу конкретно код, т.к. сижу на работе)
На форму определенного размера помещаю скриншот РС
При перетаскивании формы в в другую область экрана запускается функция перерисовки при отпускании кнопки мыши. Т,Е по сути получается тот самый нужный эффект "прозрачности формы",
но не знаю как оптимально использовать этот трюк, поскольку ФОН может менятся, или к примеру под форму попал объъект, а если ставить перерисовку в отдельный поток ну или простов таймер то идет как ни как но нагрузка, потому как помимо того что надо переснять РС так ещё надо заного присвоить Имажу картинку......

Вот мой вариант, по мне он оптимален и с задачей должен справится, но что вы предложите лушче...
или может быть попробуем оптимизировать этот варинт (вечером выложу код)
Вопрос считаю весьма интересным и по моему наблюдению особо оптимального решения нет, возможно кто через gdi+ предложит, сам я пробовал gdi+ но получалось что то вроде "региона" вообщем лажа, края не сглажанные , тени нет (хотя как то можно добавить)...
PS знаю как сделать с помощью bmp (32bit) это достаточно элементарно, сплеш скрины делать можно
но размер bmp да в 32bit-ом варианте весьма большой, делал ещё варианты, ИДЕАЛЬНО ресуют форму со "скрытой" формой но с видимыми компонентами...но компоненты получаются не рабочими(т.е толку прменительного нет)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2011, 09:58
Помогаю со студенческими работами здесь

Вывод изображения из Vector GDI+
Столкнулся с проблемой. Существует изображение, в программе оно записывается в вектор по пикселям, далее в векторе преобразовывается, и...

GDI+ загрузка изображения из файла
C GDI работать не умею вообще!! Есть только один пример как загружать картинку зная путь: Image1->Picture->Bitmap = NULL; ...

Builder 6 + png + res = trouble
Доброго всем времени суток. В общем пытаюсь запихать в 6-ой билдер файл с ресурсами, содержащий png картинки. Скачал и подсунул...

Изображения в PNG
Пишу загрузчик PNG изображений. Для чего ? Не суть. на данный момент, корректно отрабатывает загрузка: 8-ми и 16-ти битные RGB...

PNG в C++ builder 2007. Как открыть картинку.
Как в C++ builder 2007 открыть png картинку? Что нужно: 1. Открыть png 2. Отобразить картинку, или часть картинки, на форме.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru