私は現在Delphi XE2体験版で作業しています。 TImageコントロールにTIFFイメージをロードして表示する際に、サードパーティコンポーネント/ライブラリを使用しないでください。TImageコントロールでtiff画像をロードして表示する方法は?
私は以下のコードを試しましたが、私のためにウォーキングしていません。
Procedure TForm1.Button1Click(Sender: TObject);
Var
OleGraphic : TOleGraphic;
fs : TFileStream;
Source : TImage;
BMP : TBitmap;
Begin
Try
OleGraphic := TOleGraphic.Create;
fs := TFileStream.Create('c:\testtiff.dat', fmOpenRead Or fmSharedenyNone);
OleGraphic.LoadFromStream(fs);
Source := Timage.Create(Nil);
Source.Picture.Assign(OleGraphic);
BMP := TBitmap.Create;
bmp.Width := Source.Picture.Width;
bmp.Height := source.Picture.Height;
bmp.Canvas.Draw(0, 0, source.Picture.Graphic);
image1.Picture.Bitmap := bmp;
Finally
fs.Free;
OleGraphic.Free;
Source.Free;
bmp.Free;
End;
End;
アドバイスをしてください。
ファイル拡張子が標準のtiff拡張子だった場合、これは1ライナーのimage1.Picture.LoadFromFile(MyTiffFile)になります。そうでなければ、このSOの質問はあなたを助けるかもしれません[どのようにロードする任意のイメージからブロブストリームの時間に](http://stackoverflow.com/questions/6251504/how-任意の画像をブロブからストリームに書き出すこと) –
このコードがhttp://www.swissdelphicenter.ch/en/showcode.phpのサンプルから来たのかと思います?id = 2012(2004年の日付)。私が取り組んでいるコードベースでは、まれに探索された部分で同じコードを効果的に見つけました。 –