Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
btl : Graphics.tbitmap;
stream : tmemoryStream;
p : pointer;
dc : hdc;
mainSize : Integer;
begin
try
dc := GetDC(0);
btl := graphics.TBitmap.Create;
btl.Width := screen.Width;
btl.Height := screen.Height;
BitBlt(btl.Canvas.Handle, 0, 0, screen.Width, screen.Height, dc, 0, 0, SRCCOPY );
{
stream := TMemoryStream.Create;
btl.SaveToStream(stream);
mainSize := stream.Size;
GetMem(p, mainSize);
stream.Write(p^, stream.Size);
stream.Position := 0;
stream.Read(p^, mainSize);
btl.LoadFromStream(stream);
}
if btl <> nil then
image1.Picture.Assign(btl);
finally
// stream.Free;
// FreeMem(p);
btl.Free;
end;
end;
end.
Что-то формате, но на понял что конкретно.