Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наложение одной картинки на другую. КАК? 
:(
    Опции темы
denmoroz
  Дата 24.1.2006, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



Как использовать TCanvas.BrushCopy smile
smile smile smile smile
PM MAIL   Вверх
DemoCode
Дата 24.1.2006, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 1
Всего: 41



Пример из справки Delphi чем не устраивает?

Код

var
  Bitmap: TBitmap;
  MyRect, MyOther: TRect;
begin

  MyRect := Rect(10,10,100,100);

  MyOther := Rect(10,111,100, 201);
  Bitmap := TBitmap.Create;
  Bitmap.LoadFromFile('c:\windows\tartan.bmp');
  Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
  Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);
  Bitmap.Free;
end;



--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
denmoroz
Дата 25.1.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



DemoCode большой респект тебе! Ты только что спас меня от виселицы! smile
PM MAIL   Вверх
denmoroz
Дата 25.1.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



DemoCode я слегка переделал твой код:
Код

var
  Form1: TForm1;
  filename:string;

implementation

{$R *.dfm}

procedure naloz (picture:string);
var
  Bitmap1: TBitmap;
  MyRect, MyOther: TRect;
begin
  Bitmap1 := TBitmap.Create;
  Bitmap1.Transparent:=true;
  Bitmap1.TransparentColor:=clWhite;
  Bitmap1.LoadFromFile(picture);
  Form1.Image2.Picture.Bitmap:=bitmap1;
  Myrect := Rect(form1.Image2.Height,form1.Image2.Width,form1.Image2.Height,form1.Image2.Width);
  MyOther := Rect(10,111,100, 201);
  Form1.Canvas.BrushCopy(MyRect, Bitmap1, MyRect, clBlack);
  Form1.Canvas.CopyRect(MyOther,form1.image1.Picture.Bitmap.Canvas,MyRect);
  Bitmap1.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
image1.Picture.Bitmap.LoadFromFile('C:\1.bmp');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
naloz(FileName);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if openpicture.Execute then
begin
filename:=openpicture.FileName;
end;
end;


И добавил 2 имага и 2 кнопки. При нажатии на 2 кнопке вызывается openpicturedialog1.
А при клике на 1 кнопке вызывается процедура наложения.

НО ПОЧЕМУ ЭТОТ КОД НЕ РАБОТАЕТ? Я запускаю,выбераю битмап и жму 1 кпопку.
И ничего...

В чём проблемма, объясни плиз... smile smile smile
PM MAIL   Вверх
DemoCode
Дата 25.1.2006, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 1
Всего: 41



Код

Myrect := Rect(form1.Image2.Height,form1.Image2.Width,form1.Image2.Height,form1.Image2.Width);


У тебе прямоугольник с размерами 0 на 0. X1=X2 и Y1=Y2.


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
denmoroz
Дата 25.1.2006, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



DemoCode а как на Image1 наложить Image2?
PM MAIL   Вверх
DemoCode
Дата 25.1.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 1
Всего: 41



Точно также


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
denmoroz
Дата 25.1.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



DemoCode не получается smile smile smile smile
PM MAIL   Вверх
DemoCode
Дата 26.1.2006, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 1
Всего: 41



Код

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Bitmap: TBitmap;
  MyRect, MyOther: TRect;
begin
  MyRect := Rect(10,10,100,100);
  MyOther := Rect(10,111,100, 201);
  Image1.Canvas.BrushCopy(MyRect, Image2.Picture.Bitmap, MyRect, clBlack);
end;

Если транспаренты надо, то сам укажи их в свойствах TImage.
На всякий случай прилагаю проект Delphi.

Присоединённый файл ( Кол-во скачиваний: 36 )
Присоединённый файл  Projects.rar 118,77 Kb


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
denmoroz
Дата 27.1.2006, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



DemoCode спасибо тебе огромное. Я ничего не понимаю в графике на Делфи!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.