お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"GIFの画像サイズ取得"




{以前にここの#154で多摩の岳夫さんのサンプルを元にして作りました。m(__)m
テキストファイルにGIF87aとか書いて拡張子をGIFにして保存しちゃうと間違っ
て読み込んでしまうので、ファイルサイズが11バイト以下のファイルは弾く様に
しています。(そんな事する人いないと思うけど(^^;)}

function GetGifSize(const FileName:String;
                    var GWidth,GHeight:Word):String;
var
F : TFileStream;
GIF : array[0..5] of Char;
W,H : array[0..1] of Byte;
begin
Result := '不明';
if (UpperCase(ExtractFileExt(FileName)) = '.GIF') then
 begin
  F := TFileStream.Create(FileName,fmOpenRead or fmShareDenyWrite);
  try
   F.Read(GIF,6);
   if (GIF = 'GIF87a') or (GIF = 'GIF89a') then
    begin
     if F.Size > 10 then
      begin
       F.Read(W,2);
       F.Read(H,2);
       GHeight := H[1] * 256 + H[0];
       GWidth  := W[1] * 256 + W[0];
       Result := IntToStr(GWidth) + ' x ' + IntToStr(GHeight);
      end;
    end;
  finally
   F.Free;
  end;
end;
end;

                                        紅月 燐火(BZF05041)

Original document by 紅月 燐火      氏 ID:(BZF05041)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum