안녕하세여
새해 복 많이 받으세요
다름이 아니라 jpg 파일에서의 이미지 속성중 dpi 부분을 가져오고 싶은데
procedure TfrmMain.Button2Click(Sender: TObject);
const
BufferSize = 50;
var
Buffer : String;
index : Integer;
FileStream : TFileStream;
xResolution: Word;
yResolution: Word;
begin
if OpenDialog1.Execute then
begin
FileStream := TFileStream.Create(OpenDialog1.FileName,
fmOpenRead or fmShareDenyNone);
try
SetLength(Buffer, BufferSize);
FileStream.Read(buffer[1], BufferSize);
index := Pos('JFIF'+#$00, buffer);
if index > 0 then
begin
FileStream.Seek(index+7, soFromBeginning);
FileStream.Read(xResolution, 2);
FileStream.Read(yResolution, 2);
xResolution := Swap(xResolution);
yResolution := Swap(yResolution);
ShowMessage('xResolution=' +
IntToStr(xResolution) +
', yResolution=' +
IntToStr(yResolution))
end;
finally
FileStream.Free
end;
end;
end;
이렇게 했는데 Index 값이 0이 나와 dpi를 가져 오지를 못합니다.
어떻게 하는지 좀 간곡한 부탁드립니다.
|