0

学習目的で、画像(および/または)PDFビューアを自分で実装する方法を知りたいです。

そのようなことを実装するための一般的なアプローチに興味があります。

私はすでにネット上のさまざまな形式(tiff/pdf)について読んだので、これらのファイルには、ヘッダーを探す場所、フッターの場所、画像情報(復号化された形式)を記述する特別な形式があることがわかりました) は。

そのようなビューアーはうまく機能すると思うからです。お気に入り:

  • ファイルを開く
  • さまざまなファイル情報 (ヘッダー、フッターなど) の読み取り
  • ピクセル位置を「変換」する

ピクセル位置を取得する方法を知る必要があります (tiff ファイルの場合)。

これをコントロールとして作成する方法は?ピクセルをどこに配置する必要がありますか?

私が間違っている場合は、お気軽に訂正してください。なぜなら、ATM について私にはまったく考えがなく、すべてが憶測に過ぎないからです。

よろしく、

いんの

PS: C# でのソリューションを希望しますが、別の言語であれば問題ありません。プラットフォームは Microsoft Windows である必要があります (まず第一に)。

PPS: 既にインストールされている pdf-/viewing-application がなくても動作するはずです。

4

2 に答える 2

1

そのようなビューアの場合は、表示する各ファイル タイプの仕様を調べて、そのデータがどのようにエンコードされているかを把握する必要があります。一部の画像形式は、他の画像形式の上に構築されたり、同様のエンコード技術を使用したりしますが、他の画像形式は互いに完全に異なります。PDFは別の獣です。私はそれで少し作業を行いましたが、覚えていることから (私が間違っている可能性があります。しばらく時間が経っています)、基本的に一連のオブジェクトとしてそれ自体を表し、それぞれが一意の位置、サイズ、およびオブジェクトの種類に依存するさまざまな属性を持ちます。 .

ウィキペディアを見てみます。実際には、さまざまな画像形式のいくつかに関する非常に優れた記事がいくつかあります.

http://en.wikipedia.org/wiki/JPEG

また、カバーしたい各形式の公式標準ドキュメントを確実に示します。

最終的には、おそらく各フォーマットの rfc を読んだり実装したりする必要があるでしょう:

JPEG - https://www.rfc-editor.org/rfc/rfc1341
PNG - http://www.faqs.org/rfcs/rfc2083.html
GIF - http://www.w3.org/Graphics/GIF/ spec-gif89a.txt
BMP - http://www.faqs.org/rfcs/rfc797.html

HTH

于 2010-08-03T12:02:23.567 に答える
0

画像をバイト配列に変換する方法は次のとおりです。

 public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
 return  ms.ToArray();
}

これをコントロールとして作成する方法は?ピクセルをどこに配置する必要がありますか? このバイト配列には、画像のピクセル データが含まれています。(画像の種類が 8 ビットか 16 ビットかを確認してください) これで、任意のパネルに画像を描画して、カスタム コントロールとして作成できます。

pdf形式についてはわかりません。

于 2011-02-02T06:34:27.120 に答える