[.NETコントロール] WMFファイルの読み込みが遅い場合があります。
対象製品
LEADTOOLS 17.5J Document Imaging
詳細
LEADTOOLSでは、画像データはすべてラスタ画像として取り扱います。そのため、WMFのファイル情報に含まれる高さ、幅の設定値が大きな場合には、サイズの大きなラスタ画像をメモリ上にロードするため、処理に時間がかかります。
これを回避する方法として、WMFファイルをロードする前に解像度を設定してください。
以下のサンプルプログラムでは、アスペクト比を維持したまま、画像をデスティネーション長方形に収めるように解像度を設定します。
サンプルコード(VB.NET)
サンプルコード(C#)
これを回避する方法として、WMFファイルをロードする前に解像度を設定してください。
以下のサンプルプログラムでは、アスペクト比を維持したまま、画像をデスティネーション長方形に収めるように解像度を設定します。
サンプルコード(VB.NET)
Dim codecs As RasterCodecs = New RasterCodecs() Dim FileInfo As CodecsImageInfo FileInfo = codecs.GetInformation(filName, False) Dim fWidth As Single = RasterImageViewer1.Width / FileInfo.Width Dim fHeight As Single = RasterImageViewer1.Height / FileInfo.Height Dim ratio As Single = IIf(fWidth > fHeight, fHeight, fWidth) codecs.Options.Wmf.Load.XResolution = FileInfo.XResolution * ratio '水平方向の解像度 codecs.Options.Wmf.Load.YResolution = FileInfo.YResolution * ratio '垂直方向の解像度 RasterImageViewer1.Image = codecs.Load(filName) 'ビューアにイメージファイルをロード
サンプルコード(C#)
RasterCodecs codecs = new RasterCodecs(); CodecsImageInfo FileInfo; FileInfo = codecs.GetInformation(filName, false); Single fWidth = rasterImageViewer1.Width / FileInfo.Width; Single fHeight = rasterImageViewer1.Height / FileInfo.Height; Single ratio = fWidth > fHeight ? fHeight : fWidth; codecs.Options.Wmf.Load.XResolution = (int)FileInfo.XResolution * (int)ratio; //水平方向の解像度 codecs.Options.Wmf.Load.YResolution = (int)FileInfo.YResolution * (int)ratio; //垂直方向の解像度 rasterImageViewer1.Image = codecs.Load(filName); //ビューアにイメージファイルをロード
関連情報
キーワード
HowTo 問題 読み込みと保存 メモリ・遅い