function JpegStartsInBlob(PicField:TBlobField):integer;
var
ghy: TADOBlobstream;
buffer:Word;
hx: string;
begin
Result := -1;
ghy := TADOBlobstream.Create(PicField, bmRead);
try
while (Result = -1) and (ghy.Position + 1 < ghy.Size) do
begin
ghy.ReadBuffer(buffer, 1);
hx:=IntToHex(buffer, 2);
if hx = 'FF' then begin
ghy.ReadBuffer(buffer, 1);
hx:=IntToHex(buffer, 2);
if hx = 'D8' then Result := ghy.Position - 2
else if hx = 'FF' then
ghy.Position := ghy.Position-1;
end; //if
end; //while
finally
ghy.Free
end; //try
end;
var
ghy: TADOBlobstream;
buffer:Word;
hx: string;
begin
Result := -1;
ghy := TADOBlobstream.Create(PicField, bmRead);
try
while (Result = -1) and (ghy.Position + 1 < ghy.Size) do
begin
ghy.ReadBuffer(buffer, 1);
hx:=IntToHex(buffer, 2);
if hx = 'FF' then begin
ghy.ReadBuffer(buffer, 1);
hx:=IntToHex(buffer, 2);
if hx = 'D8' then Result := ghy.Position - 2
else if hx = 'FF' then
ghy.Position := ghy.Position-1;
end; //if
end; //while
finally
ghy.Free
end; //try
end;
解决方案 »
- 请问这种编码在D2010中用哪个函数? %E4%BA%92%E8%81%94%E7%BD%91%E6%89%8D%E5%AD%90
- 按键精灵有用过的吗
- How to Control the fsMDIChild Form 's Position and Size?
- 刚学DELPHI,在线等待请教一个简单问题
- ado怎样连接 excel文档
- 哪位大侠知道在delphi6中怎么用msxml检查xml文件是否正确,谢谢
- 请教关于DELPHI5和DELPHI6中datetimepicker控件的问题
- activeform客户端下载问题('我是小新'快来)
- 请问哪有<delphi5开发人赠指南>源码下载?
- 哪位大虾知道RC25.exe的密码(delphi 控件)
- DsgnCPort7串口通讯控件包安装出错怎么解决
- 请问一个关于给系统设置权限的问题
while (Result = -1) and (ghy.Position + 1 < ghy.Size) do 逐个字节分析ghy.ReadBuffer(buffer, 1);
hx:=IntToHex(buffer, 2);
读取一个字节将其转换成十六进制字符串if hx = 'FF' then//如果是FF
begin
ghy.ReadBuffer(buffer, 1);//读取下一个字节
hx:=IntToHex(buffer, 2);//转换成十六进制字符串
if hx = 'D8' then//如果是D8,函数值就是当前位置后两个字节
Result := ghy.Position - 2
else
if hx = 'FF' then//如果是FF,函数值就是当前位置后一个字节
ghy.Position := ghy.Position-1;
end;
通過對JPG圖片的頭,FFD8來判斷JPG的,但好像代碼沒什麼大的用途。呵呵