首页 > 代码库 > 解析 png 图片的十六进制字符流
解析 png 图片的十六进制字符流
uses pngimage; {从 png 图片到十六进制字符串} function Png2Hex(png: TPngImage): string; var stream: TMemoryStream; begin stream := TMemoryStream.Create; png.SaveToStream(stream); SetLength(Result, stream.Size * 2); BinToHex(stream.Memory, PChar(Result), stream.Size); stream.Free; end; {从十六进制字符串恢复 png 图片} procedure Hex2Png(str: string; out png: TPngImage); var stream: TMemoryStream; begin if not Assigned(png) then png := TPngImage.Create; stream := TMemoryStream.Create; stream.SetSize(Length(str) div 2); HexToBin(PChar(str), stream.Memory, stream.Size); png.LoadFromStream(stream); stream.Free; end; {测试} procedure TForm1.Button1Click(Sender: TObject); var png: TPngImage; begin png := TPngImage.Create; png.LoadFromFile(‘c:/temp/test.png‘); Memo1.Text := Png2Hex(png); png.Free; end; procedure TForm1.Button2Click(Sender: TObject); var png: TPngImage; begin png := TPngImage.Create; Hex2Png(Memo1.Text, png); Canvas.Draw(0, 0, png); png.Free; end;
解析 png 图片的十六进制字符流
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。