16进制字符串与图片互转
来源:互联网 发布:美工学徒带薪招聘骗局 编辑:程序博客网 时间:2024/06/01 08:45
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}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:\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;end.
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 254 ClientWidth = 480 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object Button1: TButton Left = 64 Top = 208 Width = 75 Height = 25 Caption = 'Button1' TabOrder = 1 OnClick = Button1Click end object Button2: TButton Left = 200 Top = 208 Width = 75 Height = 25 Caption = 'Button2' TabOrder = 2 OnClick = Button2Click end object Memo1: TMemo Left = 8 Top = 8 Width = 449 Height = 177 Lines.Strings = ( 'Memo1') TabOrder = 0 endend
- 16进制字符串与图片互转
- java图片与base64字符串互转
- 图片-字符串互转
- 16进制字符串转为图片
- ios 图片转成16进制字符串, NSdata 转16进制字符串
- 进制字符串与16进制数组互转
- Python 16进制与字符串互转
- 16进制字符串与byte数组互转
- Java中的时间与字符串互转、字符串与Ascii互转、进制转换等
- base64图片字符串转图片
- 字符串与16进制字符串相互转化
- java读取写入图片文件、byte[]、base64字符串、16进制字符串相互转换
- java jpg图片 Base64字符串互转
- 【转】C++ 字符串与16进制字符串之间的转换
- 图片转base64字符串
- svg字符串转图片
- Delphi 16进制与字符串转换
- 16进制与字符串转换
- [access][jdbc]java连接access数据库
- 成都传智播客java培训10月份新班开班
- 4.给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
- 验证模型
- UVA 11354 Bond(prim+LCA,4级)
- 16进制字符串与图片互转
- linux编程--获取文件状态与文件映射mmap .
- UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法
- 什么是java序列化,如何实现java序列化?
- Service详解之路01_怒说Service生命周期
- [设计模式笔记]三. 行为型模式--18. Iterator模式(迭代器)对象行为型模式(一)
- MVC 初学者(1)
- 数学之路(3)-机器学习(3)-常用算法-线性规划之几何解法
- spring-security用户权限认证框架