Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2007, 21:32   #1
m@N!ac
Новичок
Джуниор
 
Аватар для m@N!ac
 
Регистрация: 13.03.2007
Сообщений: 1
По умолчанию Вставка изображений и их прозрачность

В Image1 загружается фон, по нажатию кнопки Button1 должно вставляться изображение с координатами, указанными в Edit1 и Edit2, но при этом во вставляемом изображении должны учитываться прозрачные области (окрашеные в белый), т.е. они не должны закрывать фон в Image1. Написал так:
Код:
var
pic:TBitmap;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
image1.Picture.Bitmap.LoadFromFile('canv.bmp');
pic:=TBitmap.Create;
pic.Transparent:=true;
pic.TransparentColor:=clwhite;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
source,dest:TRect;
begin
pic.LoadFromFile('pic.bmp');
source:=bounds(0,0,48,48);
dest:=bounds(strtoint(edit1.Text),strtoint(edit2.Text),48,48);
image1.Canvas.CopyRect(dest,pic.Canvas,source);
end;
но получилось без прозрачности, не подскажете что надо исправить?
m@N!ac вне форума Ответить с цитированием
Старый 08.06.2007, 01:28   #2
VDLab
Embedder
Пользователь
 
Аватар для VDLab
 
Регистрация: 01.11.2006
Сообщений: 68
По умолчанию

BMP с прозрачностью вставить и не получится, тут GIF нужно использовать, а для него должен быть установлен соотв компонент(GIFImage вроде).
[SHIFT] вправо, [SHIFT] влево считается [ESCAPE]ом и карается REBOOTом!
VDLab вне форума Ответить с цитированием
Старый 09.10.2008, 19:47   #3
Vovandows
Пользователь
 
Аватар для Vovandows
 
Регистрация: 22.09.2008
Сообщений: 11
Радость Может поможет

В твоем случаее белый цвет должен быть везде одинаковый. И попробуй поставить в самый левый нижний угол своей картинки точку белого цвета.
Vovandows вне форума Ответить с цитированием
Старый 09.10.2008, 21:14   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ну если работает на "таком уровне" то почему не поставить PNGImage ? и просто грузить готовое ( причем даже с альфа каналом ) изображение
BOBAH13 вне форума Ответить с цитированием
Старый 09.10.2008, 21:19   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

m@N!ac, ты на правильном пути, Transparent включает прозрачность в битмапе, а TransparentColor задает цвет, больше ничего не надо. Я немного подзабыл, попробуй метод Draw вместо CopyRect. Также попробуй не на канву имиджа выводи, а в его битмап. И еще попробуй задать прозрачность после загрузки изображения в битмап, а не перед.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 21.10.2008, 17:58   #6
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Mutabor Вы правы.Прозрачность задается после загрузки .bmp в BitMap.
buffer: TBitMap;
buffer.Transparent:= true;
Прозрачность проявляется только при использовании метода Draw на канву
Form1.Canvas.Draw(x,y,buffer);
Цвет можно не задавать, он определяется автоматически по левому нижнему пикселю .bmp.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 22.10.2008, 12:24   #7
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цвет прозрачности ещё можно задать так:
Pic.TransparentColor:=Pic.Canvas.Pi xels[1,1];
А так DeKot сказал правильно, сначала загружаем а потом определяем
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прозрачность sergei64_89 Общие вопросы .NET 1 29.07.2008 21:43
Вставка изображений в RichEdit! Teen4jump Мультимедиа в Delphi 5 08.04.2008 14:26
Прозрачность Лубышев Помощь студентам 3 23.01.2008 00:05
Прозрачность ЧИЖ HTML и CSS 5 24.10.2007 17:18
Прозрачность MAcK Общие вопросы Delphi 2 21.03.2007 19:24