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

Прозрачный цвет BMP.

27.01.2012, 00:52. Показов 6813. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
void __fastcall TTest1Form::BitBtn2Click(TObject *Sender)
{
Graphics::TBitmap*  gBitmap = new Graphics::TBitmap;
gBitmap->Transparent=true;
gBitmap->TransparentMode=tmFixed;
gBitmap->TransparentColor=clBlack;
gBitmap->LoadFromFile(ExtractFilePath(Application->ExeName)+"Buttons\\Numbers\\1.bmp");
Canvas->Draw(10,10,gBitmap);
}
Нашел в инете попробовал, но ничего не происходит. Картинка целиком рисуется. Пробовал уже и с примера Help'a. Та же картина. Проверял через фотошоп пипеткой цвет, все как и должно быть 0,0,0.
Вместо clBlack вводил и RGB(0,0,0). Ничего.

В чем может быть проблема?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2012, 00:52
Ответы с готовыми решениями:

Прозрачный цвет в OpenGL
Как сделать, чтобы в OpenGL белый цвет текстур был полностью или частично прозрачным?

Прозрачный цвет для видео
Кто нибудь знает, можно ли в TMediaPlayer установить прозрачный цвет для видео? Если нет, то что делать?

Текст поверх картинки, прозрачный фон, заданный цвет
Тут возникла необходимость на объекте Image выводить текст много много раз ... да еще и на черном фоне. Как создавать текст поверх картинки...

7
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
27.01.2012, 01:16
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
5
6
7
8
9
void __fastcall TTest1Form::BitBtn2Click(TObject *Sender)
{
  Graphics::TBitmap*  gBitmap = new Graphics::TBitmap;
  gBitmap->LoadFromFile(ExtractFilePath(Application->ExeName)+"Buttons\\Numbers\\1.bmp");
  gBitmap->Transparent=true;
  gBitmap->TransparentMode=tmFixed;
  gBitmap->TransparentColor=clBlack;
  Canvas->Draw(10,10,gBitmap);
}
3
0 / 0 / 1
Регистрация: 27.01.2012
Сообщений: 16
27.01.2012, 01:22  [ТС]
ничего не поменялось.

Если кто знает еще способ, чтоб создать кнопку которая состоит из 2 картинок (снизу - определенный цвет (будет меняться), а сверху наложить цифру)
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
27.01.2012, 02:37
Создание событий MouseEnter и MouseLeave для TImage (решено)
1
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
27.01.2012, 03:15
8BitEX, попробуй маску в фш изменить. другой бмп возьми. это в картинке дело.
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
27.01.2012, 11:25
- цвет прозрачности определяет левый нижний пиксель картинки; попробуйте, - может сработает.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
27.01.2012, 12:04
Вот пример__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <vcl.h>
#pragma hdrstop
#include "Unit13.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
  if (SpeedButton1->Down) Image1->Picture->Bitmap->Canvas->Pixels[00][79] = (TColor)0x00F02020;
  else Image1->Picture->Bitmap->Canvas->Pixels[00][79] = (TColor)0x002020F0;
}
Изображения
  
0
0 / 0 / 1
Регистрация: 27.01.2012
Сообщений: 16
27.01.2012, 17:36  [ТС]
Все таки действительно в картинках. Попробовал создать новые картинки в ФШ и все получилось. Не долго думая решил сравнить в чем отличия, и открыл BMP файл через Блокнот и действительно, созданные мной картинки через ФШ имели начало BMH, в то время те которые я использовал (Созданные через Button Shop) BMv.

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

Словом проблема решена. Спасибо.

Добавлено через 10 минут
И еще точнее 32 битные BMP не работают, только 24.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.01.2012, 17:36
Помогаю со студенческими работами здесь

Как программно изменить цвет монохромного рисунка *.bmp?
На форме используется Image из белого фона с одноцветным рисунком (рисован в Paint-e, сохранен как 256-цветный рисунок bmp), цвет которого...

Прозрачный логотип bmp
Доброе время суток, интересует такой вопрос: при запуске программы вылазиет черный сплешь с надписью, собствено надо сделать черный цвет...

Прозрачный фон *.bmp
Я компоненту TImage присвоил рисунок формата .bmp, но у него белый фон; Помогите сделать так, чтобы фон стал прозрачным.

прозрачный цвет
есть картинка,нужно сделать чтоб определенный кусок ее был прозрачным пробую так...

Прозрачный цвет у VB
Мне, друзья, хотелось бы знать, какой цвет в VB является так сказать прозрачным! Кто знает - помогите!!!


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru