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

Вниз

снимок TPanel   Найти похожие ветки 

 
TPel   (2007-08-23 13:31) [0]

в bmp , это компонент TPanelText = class(TPanel)
как ?


 
wp2 ©   (2007-08-23 13:53) [1]

ты хочешь рисунок панели сохранить в файл?


 
DrPass ©   (2007-08-23 13:57) [2]

Посмотри реализацию метода Print у формы. Принцип тот же самый


 
TPel   (2007-08-23 22:14) [3]

в коде засовывается по указателю, а как выдрать из памяти
аналог Save ? в исходнике происходит печать без буферов

var
 FormImage: TBitmap;
 Info: PBitmapInfo;
 InfoSize: DWORD;
 Image: Pointer;
 ImageSize: DWORD;
 Bits: HBITMAP;
 DIBWidth, DIBHeight: Longint;
 PrintWidth, PrintHeight: Longint;
begin
FormImage := GetFormImage;
Bits := FormImage.Handle;
GetDIBSizes(Bits, InfoSize, ImageSize);
Info := AllocMem(InfoSize);
Image := AllocMem(ImageSize);
GetDIB(Bits, 0, Info^, Image^);
           with Info^.bmiHeader do
           begin
             DIBWidth := biWidth;
             DIBHeight := biHeight;
           end;

....
FormImage.Free;

end;


 
DrPass ©   (2007-08-23 22:23) [4]


> TPel   (23.08.07 22:14) [3]

...а внутрь GetFormImage заглядывал?


 
TPel   (2007-08-23 22:40) [5]

увидел , с форма нормально, а панель не снимает
принудительно передаю обьект

function TForm1.GetFormImageEx(P:TPanel): TBitmap;
var
 Ofs: Integer;
begin
 Result := TBitmap.Create;
 try
   Result.Width := P.ClientWidth;
   Result.Height := P.ClientHeight;
   Result.Canvas.Brush := P.Brush;
   Result.Canvas.FillRect(P.ClientRect);
   Result.Canvas.Lock;
   try
     if GetWindowLong(Handle, GWL_STYLE) and WS_BORDER <> 0 then
       Ofs := -1  // Don"t draw form border
     else
       Ofs := 0;  // There is no border
     PaintTo(Result.Canvas.Handle, Ofs, Ofs);
   finally
     Result.Canvas.Unlock;
     Result.SaveToFile("c:\11.bmp");
   end;
 except
   Result.Free;
   raise;
 end;
end;


 
TPel   (2007-08-24 09:45) [6]

кокретно код выдает bmp 185х41 того же цвета,но без надписи
сама форма 544х375, панель 185х41
а надписи на панели нет PANEL.Caption:="TEST GRAPH";

хотя при снятии все формы она снимается
FormImage := GetFormImage;


 
TPel   (2007-08-24 09:47) [7]

отбой неподписанный Handle был от формы



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
15-1187600290
Наташа
2007-08-20 12:58
2007.09.16
Обращение к мадератором


2-1187693948
Daedr
2007-08-21 14:59
2007.09.16
Application.ExeName


2-1187943014
nikfel
2007-08-24 12:10
2007.09.16
Сравнение файлов


2-1187701008
Falameezar
2007-08-21 16:56
2007.09.16
Редактор реестра


8-1164920705
DevilDevil
2006-12-01 00:05
2007.09.16
IBasicAudio, put_Volume - реальная граница?