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

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

27.01.2012, 00:52. Показов 6774. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru