Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.17;
Скачать: CL | DM;

Вниз

Копирование картинки на Image   Найти похожие ветки 

 
Pavel   (2009-11-25 12:50) [0]

Нужно из 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 остается пустым.


 
brother ©   (2009-11-25 13:23) [1]

копировать надо на битмап однако.
не

> Image1.Picture.Bitmap.Canvas.Handle

а
Image1.Picture.Bitmap.Handle


 
clickmaker ©   (2009-11-25 13:54) [2]

> [1] brother ©   (25.11.09 13:23)

BitBlt должна работать как раз таки с Canvas.Handle


 
Pavel   (2009-11-25 14:00) [3]

Если копировать так:
BitBlt(Image1.Picture.Bitmap.Handle,0,0,BMap5.Width,BMap5.Height,BMap5.Handle,BM ap5.Width,BMap5.Height,SRCCOPY);
Image все равно остается пустым.


 
{RASkov} ©   (2009-11-25 14:23) [4]

> [3] Pavel   (25.11.09 14:00)

Как обстоят дела с размерами битмапов перед копированием?
Что показывает:
Showmessage(IntToStr(Image1.Picture.Bitmap.Width{Height}));
?


 
Pavel   (2009-11-25 14:28) [5]

Хотел уточнить, какой функцией в данной ситуации лучшее воспользоваться CopyRect или BitBlt?


 
Pavel   (2009-11-25 14:40) [6]

Спасибо! Заработало. Проблема оказалась в размере BitMap.


 
Григорьев Антон ©   (2009-11-25 17:01) [7]


> Пробывал вывести BitMap на TImage так:
> Image1.Picture.Bitmap:=BMap5;
> Все выводится. Но мне нужно имменно через копирование.

А вы код TPicture.SetBitmap посмотрите. Там не указатель копируется, а создаётся новый объект и вызывается Assign, т.е. выполняется полноценное копирование содержимого, которое вам и нужно.

И ещё один нюанс: http://bash.org.ru/quote/399811


 
PZ   (2009-11-25 20:48) [8]

> [7] Григорьев Антон ©   (25.11.09 17:01)
> И ещё один нюанс: ...

Ну, это надо демонстрировать каждому второму посетителю форума (форумов) ...



Страницы: 1 вся ветка

Текущий архив: 2010.01.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
2-1258523471
Tornado
2009-11-18 08:51
2010.01.17
Обработать ошибку пинга


2-1258726068
cukerMAN
2009-11-20 17:07
2010.01.17
От чего идет подвисание программы? Работаю с большой строкой


2-1258720030
Andrewtitoff
2009-11-20 15:27
2010.01.17
VBA => Delphi


2-1258895265
Виктор
2009-11-22 16:07
2010.01.17
Представление данных базы данных в Word


2-1258959429
Alex_C
2009-11-23 09:57
2010.01.17
Правильно "заморозить" TThread