Форум программистов, компьютерный форум CyberForum.ru

Обрезать bmp и установить прозрачность - C++

Восстановить пароль Регистрация
 
nik2009nik
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 4
18.02.2012, 01:43     Обрезать bmp и установить прозрачность #1
Привет.
Загружаю точечный рисунок в память программы с помощью LoadImage (работаю на чистом WinAPI)
При несовпадении размеров исходного и целевого прямоугольников:
Функция BitBlt обрезает рисунок
Функция TransparentBlt растягивает рисунок

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

Оказалось, что это не так просто: при совпадении исходного и целевого устройств ничего не происходит, а при добавлении еще одного (промежуточного) совместимого устройства - тоже ничего не происходит.

Необходимо, чтобы элементы дизайна хранились в одном файле BMP, а не каждый в отдельном.
Подскажите, пожалуйста, как мне осуществить и обрезку рисунка, и установление прозрачного цвета одновременно?
Это возможно с помощью стандартного GDI?
Желательно подробно, так как хочу вникнуть в суть.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2012, 01:43     Обрезать bmp и установить прозрачность
Посмотрите здесь:

C++ Обрезать строку
C++ Обрезать пробелы в конце строки.
C++ Работа с BMP-файлами (класс "8 битное BMP изображение)
Как обрезать строку типа wchar_t* до определенного символа? C++
C++ Обрезать строку до первого пробела
Обрезать строку при вводе через fgets C++
C++ Обрезать/скопировать string до определенного символа
C++ Обрезать файл сверху, возможно ли?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru