![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование изображения [D6, WinXP]
saNat © (2005-02-19 12:13:00)Доброго времени суток :-)
Подскажите, пожалуйста, где я ошибаюсь.
Есть загруженное из ресурса *.res изображение CardImage:TImage и изображение, которое пользователь загружает в PeoplePhotoImage:TImage. Нужно вставить второе изображение в определенную позицию первого. Делаю так:
//Генерация проруска
Procedure TPeopleForm.ReFreshButtonPanelClick(Sender:TObject);
Var
Card:TJpegImage;
ResourceStream:TResourceStream;
Begin
//Удаление текущего содержимого пропуска
CardImage.Picture:=Nil;
Card:=Nil;
ResourceStream:=Nil;
//Загрузка фона
Try
Try
Card:=TJpegImage.Create;
If StType.Checked
Then
ResourceStream:=TResourceStream.CreateFromID(HInstance,1,RT_RCData)
Else
ResourceStream:=TResourceStream.CreateFromID(HInstance,2,RT_RCData);
Card.LoadFromStream(ResourceStream);
CardImage.Canvas.Draw(0,0,Card);
Finally
Card.Free;
ResourceStream.Free;
End;
Except
MessageDlg('Ошибка: невозможно создать образец'+#13+
'Генерация пропуска прервана'+#13+
'Обратитесь в службу поддержки: eva@mail.vstu.edu.ru',mtError,[mbOk],0);
Close;
End;
//Установка параметров
CardImage.Canvas.Font:=Font;
CardImage.Canvas.Font.Size:=10;
CardImage.Canvas.Brush.Style:=bsClear;
//Вставка ФИО
CardImage.Canvas.TextOut(77,5,NameEdit.Text);
//Вставка Должности
CardImage.Canvas.TextOut(17,73,StatusEdit.Text);
//Вставка фото
CardImage.Canvas.Draw(186,73,PeoplePhotoImage.Picture.Bitmap);End;
Так вот, как я понял (прочитал в книге), то CardImage.Canvas.Draw делает копию изображения-источника на изображении-приемнике с левым верхним углом... У меня почему то исходное изображение исчезает, а в приемнике ничего нет
И где я не прав?
С уважением, ЕВА.
saNat (2005-02-19 23:55:00) [1]to Набережных ССпасибо. Ваш вариант работает
Набережных С. (2005-02-19 16:26:00) [2]Имхо у тебя не Bitmap загружен в PeoplePhotoImage. Попробуй так
CardImage.Canvas.Draw(186,73,PeoplePhotoImage.Picture.Graphic)