对,是直接读取流然后loadfile function Tform1.TextToJpeg(AFileName: string; Savefile: Boolean; JpegFileName: string): TJPEGImage; var buf : array of Byte; DataLength : Integer; i : Integer; DataStr : string; ByteFile : file of byte; jpg : TJPEGImage; tmpFileName: string; begin with TStringList.Create do begin LoadFromFile(AFileName); DataStr := Text; Free; end; DataLength := Length(DataStr) div 2-1; SetLength(buf, DataLength); for i := 1 to DataLength do begin buf[i - 1] := StrToInt('$' + copy(DataStr, (i - 1) * 2 + 1, 2)); end; tmpFileName := ExtractFilePath(ParamStr(0))+'tmp.jpg'; AssignFile(ByteFile, tmpFileName); Rewrite(ByteFile); for i := 0 to DataLength - 1 do begin write(ByteFile, buf[i]); end; CloseFile(ByteFile); Result := TJPEGImage.Create; Result.LoadFromFile(tmpFileName); if SaveFile then Result.SaveToFile(JpegFileName); DeleteFile(tmpFileName); end; 这个就是从txt中还原成jpeg文件的源代码,但是我有一个问题就是,我用到了image和button这两个控件,我不知道如何把这个代码加进去。因为我的意思是按一下button然后选择txt文件,然后图像就会在image控件中显示出来。
请zzflover详细一点好吗?我是个初学者!不胜感激!
procedure TForm1.Button1Click(Sender: TObject); begin if openDialog1.Execute then image1.Picture.LoadFromFile(openDialog1.FileName); end;
function Tform1.TextToJpeg(AFileName: string; Savefile: Boolean;
JpegFileName: string): TJPEGImage;
var
buf : array of Byte;
DataLength : Integer;
i : Integer;
DataStr : string;
ByteFile : file of byte;
jpg : TJPEGImage;
tmpFileName: string;
begin
with TStringList.Create do
begin
LoadFromFile(AFileName);
DataStr := Text;
Free;
end;
DataLength := Length(DataStr) div 2-1;
SetLength(buf, DataLength);
for i := 1 to DataLength do
begin
buf[i - 1] := StrToInt('$' + copy(DataStr, (i - 1) * 2 + 1, 2));
end;
tmpFileName := ExtractFilePath(ParamStr(0))+'tmp.jpg';
AssignFile(ByteFile, tmpFileName);
Rewrite(ByteFile);
for i := 0 to DataLength - 1 do
begin
write(ByteFile, buf[i]);
end;
CloseFile(ByteFile);
Result := TJPEGImage.Create;
Result.LoadFromFile(tmpFileName);
if SaveFile then
Result.SaveToFile(JpegFileName);
DeleteFile(tmpFileName);
end;
这个就是从txt中还原成jpeg文件的源代码,但是我有一个问题就是,我用到了image和button这两个控件,我不知道如何把这个代码加进去。因为我的意思是按一下button然后选择txt文件,然后图像就会在image控件中显示出来。
procedure TForm1.Button1Click(Sender: TObject);
begin
if openDialog1.Execute then
image1.Picture.LoadFromFile(openDialog1.FileName);
end;