4

Delphi プログラムで (のみ) 画像ファイルといくつかの一般的なドキュメント (PDF、RTF、TEXT など) を表示したいのですが、それを行う 2 つの方法を見つけました。

  1. AtViewer経由ですが、ファイルサイズが大きすぎます。
  2. エンド ユーザーのコンピュータに直接インストールされた組み込みの Internet Explorer を介して。

私は疑問に思っています、代替手段はありますか?ありがとう。

4

4 に答える 4

4

ここに行くには2つの方法があります。

  1. Windowsが提供するソフトウェアを使用する
  2. ネイティブDelphiコンポーネントに固執する

私は個人的に自分の情報源を「すべてデルフィ」にしておくのが好きです。画像の表示に関しては、Delphiは、考えられるほぼすべての画像形式をサポートする多くのサードパーティライブラリに恵まれています。

画像

ImageENは優れたパッケージ(商用)であり、無料のVapyre Image Libraryもお勧めです(名前は少しですが、すばらしい製品です)。最も一般的な形式のサポートをすばやく追加するために、GraphicsEXは多くの開発者が使用する従来のDelphi拡張機能です。DLLファイルのコレクションであるFreeImageもありますが、Delphiラッパークラスを使用して簡単に使用できます。TorryのDelphiページ(google it)のグラフィックセクションを見ると、堅牢なサポートが見つかります。

PDF

PDFのプレビュー/読み取りについては、Gnosticeの製品ラインを見てみます。これらは、PDFファイル(http://www.gnostice.com/)を生成および表示するためのネイティブDelphiコンポーネントを提供します。あるいは(PDFの場合)AdobeのPDFリーダーに付属しているActiveXコンポーネントを選ぶでしょう。ただし、起動時にこれらのオブジェクトが登録され、アプリケーションで使用できることを確認する必要があります。

だからあなたの「ユニバーサルビューア」のために私は

  1. ベースビューアフォームを作成します(ボタン、ステータスバーなどを提供するため)
  2. ファイルを開くための仮想メソッドを追加する
  3. これから、それぞれが異なるメディアタイプを扱う3つのフォームを降順します。したがって、TfrmPDF、TfrmImage、およびTfrmHTMLを取得します。それぞれで、open()メソッドをオーバーライドします。このようにして、メインアプリケーションは各フォーマットの詳細を気にする必要がありません。

HTML

Delphiには独自のネイティブWebレンダラーがあるため、HTMLを表示するのは幸運です。それはスティーブボールドウィンによって書かれ、THTMLViewerと呼ばれています。オープンソースとしてリリースされており、Googleプロジェクトで見つけることができます。

于 2011-01-05T09:05:25.163 に答える
4

Windows (私の記憶が正しければ XP 以降) は、IExtractImageインターフェースを使用して、サムネイル ビュー内の任意のファイルのサムネイルを生成します (ファイル タイプにオブジェクトがリストされている場合)。

これらのオブジェクトはコードでアクセスでき、それらを使用して、Windows エクスプローラーでもサムネイルを取得する任意のファイルのサムネイルを生成できます。Thumbs.db(要求している画像サイズで利用可能な場合、サムネイルはサムネイル キャッシュ ( ) から提供されると思います。)

ここにもっとあります: http://yoy.be/item.asp?i1490 またはここ: http://msdn.microsoft.com/en-us/library/bb775073(v=vs.85).aspx

于 2011-01-04T20:55:45.247 に答える
2

表示するファイルを見て、それに対して 3 つ (または 4 つ、または 5 つ) のいずれかを実行する、独自のビューアー TForm を作成することをお勧めします。

  1. PDF または HTML の場合は、組み込みの IE Web ブラウザーでロードします (www.bsalsa.com の TEmbeddedWB は、付属の VCL IE ラッパー TwebBrowser より優れています)。

  2. 画像の場合は、サイズ変更/スケーリング/スクロールをサポートする画像ビューアー コントロールに読み込みます。

  3. テキスト ファイルまたは RTF ファイルの場合は、RichEdit に読み込みます。

  4. OLE タイプの場合は、OLE コンテナー ビューで表示できます。

于 2011-01-04T18:59:57.170 に答える
0

埋め込みビューアーはすべてのドキュメントを表示します - ただし、外部ビューアーが必要な場合は、IE の外部で表示されます - それぞれの TIFF が (デフォルトで) 画像ビューアーに表示されます。

于 2011-01-03T20:06:02.667 に答える