GIF Format



Uses ..., axctrls;

procedure TForm1.Open1Click(Sender: TObject);
var
  f : TFileStream;
  graphic : TOleGraphic;
begin
  if OpenDialog1.Execute then
  begin
    graphic := TOleGraphic.Create;  

    f := TFileStream.Create (OpenDialog1.FileName, 
                              fmOpenRead or fmShareDenyNone);
    try
      graphic.LoadFromStream(f);
      Image1.Picture.Assign(graphic);
    finally
      f.Free
    end
  end
end;


え?これだけで読み込みできるの?
考えてみれば当然のような話ではあるけど。
TOleGraphicはOLEPRO32.DLLというActiveXのラッパーという事ですが、
OLEPRO32.DLLは Win95 SP2 以降はOS標準で使用可能、
Vistaでもサポートされるという事なので普通に使う分には困りませんわな。



Sharakuでメディアンカット誤差拡散減色もできるようになったので
GIF保存を入れようと思い、TGIFImageを入れてみる。
へぇ、このクラス、減色ルーチンも入ってたんだ。
別にGIF保存でなくてBMPで保存する時も減色ルーチンだけ使うってのもできますね。

で、使ってみてわかったのだけど、上のルーチンだとアスペクト比が変わってしまいますね。
どこか設定がおかしいのだろうか。
で、TGIFImageも一部の誤差拡散係数、数値がおかしくなって変なムラニなってしまう時が。



.NET Framework 対応にするならGDI+を使って、こちらの方法で。


最終更新:2007年01月24日 10:20