解析 png 图片的十六进制字符流的函数 - 回复 "黑人" 的问题
2021/5/20 18:25:28
本文主要是介绍解析 png 图片的十六进制字符流的函数 - 回复 "黑人" 的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
解析 png 图片的十六进制字符流的函数 - 回复 "黑人" 的问题问题来源:http://www.cnblogs.com/del/archive/2010/04/24/1719631.html#2079634
使用下面的 Hex2Png() 函数解析黑人给的数据,结果是一个 93396 的验证码图片。
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;
posted on 2011-04-26 22:53 万一 阅读(4419) 评论(4) 编辑 收藏
这篇关于解析 png 图片的十六进制字符流的函数 - 回复 "黑人" 的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!