![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование картинки на Image
Pavel © (2009-11-25 12:50:00)Нужно из BitMap скопировать рисунок на TImage.
Пробывал выполнить двумя способами:
1-й
BitBlt(Image1.Picture.Bitmap.Canvas.Handle,0,0,BMap5.Width,BMap5.Height,BMap5.Ca nvas.Handle,BMap5.Width,BMap5.Height,SRCCOPY);
2-й
Image1.Picture.Bitmap.Canvas.CopyRect(Rect(0,0,100,100),BMap5.Canvas,Rect(0,0,20 ,20));
Однако, в обоих случаях Image остается пустым. Пробывал вывести BitMap на TImage так:
Image1.Picture.Bitmap:=BMap5;
Все выводится. Но мне нужно имменно через копирование.
Не пойму почему при копирование TImage остается пустым.
PZ (2009-11-25 20:48:00) [1]> [7] Григорьев Антон © (25.11.09 17:01)
> И ещё один нюанс: ...
Ну, это надо демонстрировать каждому второму посетителю форума (форумов) ...
Григорьев Антон (2009-11-25 17:01:00) [2]
> Пробывал вывести BitMap на TImage так:
> Image1.Picture.Bitmap:=BMap5;
> Все выводится. Но мне нужно имменно через копирование.
А вы код TPicture.SetBitmap посмотрите. Там не указатель копируется, а создаётся новый объект и вызывается Assign, т.е. выполняется полноценное копирование содержимого, которое вам и нужно.
И ещё один нюанс: http://bash.org.ru/quote/399811
Pavel (2009-11-25 14:40:00) [3]Спасибо! Заработало. Проблема оказалась в размере BitMap.
Pavel (2009-11-25 14:28:00) [4]Хотел уточнить, какой функцией в данной ситуации лучшее воспользоваться CopyRect или BitBlt?
{RASkov} (2009-11-25 14:23:00) [5]> [3] Pavel (25.11.09 14:00)
Как обстоят дела с размерами битмапов перед копированием?
Что показывает:
Showmessage(IntToStr(Image1.Picture.Bitmap.Width{Height}));
?
Pavel (2009-11-25 14:00:00) [6]Если копировать так:
BitBlt(Image1.Picture.Bitmap.Handle,0,0,BMap5.Width,BMap5.Height,BMap5.Handle,BM ap5.Width,BMap5.Height,SRCCOPY);
Image все равно остается пустым.
clickmaker (2009-11-25 13:54:00) [7]> [1] brother © (25.11.09 13:23)
BitBlt должна работать как раз таки с Canvas.Handle
brother (2009-11-25 13:23:00) [8]копировать надо на битмап однако.
не
> Image1.Picture.Bitmap.Canvas.Handle
а
Image1.Picture.Bitmap.Handle