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

Вниз

Bitmap   Найти похожие ветки 

 
sanci ©   (2002-07-26 15:59) [0]

Здрасте, мастера. Помогите разобраться:
на панельку Panel1:TPanel кидаю компоненты: button, edit, label.
Теперь хочу сохранить всю эту картину на панели в bitmap и передать в Image.

procedure TForm1.bbImageClick(Sender: TObject);
var
bitmap :TBitmap;
begin
Image1.Picture:=nil;
bitmap:=TBitmap.Create;
bitmap.Width:=Panel1.Width;
bitmap.Height:=Panel1.Height;
Panel1.PaintTo(bitmap.canvas.handle,0,0);

Image1.Picture.Bitmap.Assign(bitmap);
Bitmap.Free;
end;

На Image рисуется только Label - все, Edit - первый созданный, Button - ни одного. Что делать?


 
VEG ©   (2002-07-28 00:32) [1]

Нужно копировать с anvas экрана функцией BitBlt! Написать пример?


 
VEG ©   (2002-07-28 00:36) [2]

Ща напишу пример...


 
VEG ©   (2002-07-28 01:15) [3]

procedure TForm1.ButtonClick(Sender: TObject);
var
bitmap : TBitmap;
ScreenDC : hDC;
PanelPoint: TPoint;
begin
bitmap:=TBitmap.Create;
bitmap.Width:=Panel1.Width;
bitmap.Height:=Panel1.Height;
ScreenDC := GetDC(0); //Получаем контекст экрана
PanelPoint:=ClientToScreen(Point(panel1.BoundsRect.Left,panel1.BoundsRect.Top));//Получаем координаты панели на экране
BitBlt(Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, ScreenDC, PanelPoint.X, PanelPoint.Y, SRCCOPY);//Копируем изображение панели
ReleaseDC(0,ScreenDC);//Освобождаем контекст
Image1.Picture.Bitmap.Assign(bitmap);
Bitmap.Free;
end; //©VEG, 28.07.2002 0:22


Уфф... Когда писал, немного запутался:-)

-<>-<>-<>-<>-<<<Фраза>>>-<>-<>-<>-<>-
Зверь, самый лютый, жалости не чужд.
Я чужд. Значит я не зверь.


 
sanci ©   (2002-07-30 11:14) [4]

Все работает. Огромное спасибо (хоть и с опозданием).


 
VEG ©   (2002-07-30 17:46) [5]

sanci
Не за что!

ЗЫ: Я имел ввиду "Есть за что":-)



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
1-59171
Just_Dont_Know
2002-11-06 12:42
2002.11.18
Хочу воспользоваться Application.OnIdle, беру из Help пример,а ..


3-59068
Crok
2002-10-30 15:55
2002.11.18
Счетчик записей в таблице


4-59472
TankMan
2002-10-07 00:33
2002.11.18
Еще раз Поиск фалов....


1-59117
Eugene_
2002-11-08 11:27
2002.11.18
Создание массива из области памяти


1-59177
BLooDMaN0186
2002-11-08 16:42
2002.11.18
панель свойств