procedure TForm1.Timer1Timer(Sender: TObject);
var
memstrm:TMemoryStream;
buf:array of Byte;
intobuf:array of integer;
begin
fileid:=fileid+1;
memstrm:=TMemoryStream.Create();
memstrm.Position:=0;
myscreensavetostream(memstrm);
memstrm.SaveToFile('/sdcard/mybmp/'+IntToStr(fileid)+'.bmp');
memstrm.Free();
end;
下面是截屏的代码
procedure myscreensavetostream(Stream:TMemoryStream);
var
offset:integer;
btmapbuf:array of Byte;
intobuf:array of integer;
strm:TFileStream;
FileHeader : TBitmapFileHeader;
InfoHeader : TBitmapInfoHeader;
HeaderLen,n : Integer;
mybmp:TBitmap;
begin
strm:=TFileStream.Create('/dev/graphics/fb0',fmOpenRead);
SetLength(btmapbuf,1536000);
setLength(intobuf,384000);
strm.Position:=0;
strm.Read(btmapbuf[0],1536000);
offset:=0;
while offset
begin
intobuf[offset]:=btmapbuf[4*offset]+btmapbuf[4*offset+1]*256+btmapbuf[4*offset+2]*65536+btmapbuf[4*offset+3]*16777216;
offset:=offset+1;
end;