4

個人学習プロジェクトを考えています。.NET(できればVB)を使用して、CDisplayのような漫画を表示するだけで、より高度なナビゲーションを備えたシンプルなデスクトップアプリを作成したいと思います。画像の特定の領域(たとえば、個々のパネル)をクリックしてズームインし、ズーム領域をパネルに自動的にスナップして拡大できるようにしたい。画像は通常、.jpeg、.pngなどの標準形式です。

このようなものが私が目指しているものです:http://iphonecomicbookreader.com/

これが何と呼ばれているのかさえわかりませんか?画像マッピング?多分トーンマッピング?.NET内でこれを行うことは可能ですか、それとも何らかの外部ライブラリが必要ですか?コードサンプルはいいのですが、明らかにこれはかなり漠然とした要求です。正しい方向に向けられるだけで本当に役に立ちます。

ありがとう

4

1 に答える 1

11

これは完全に .Net で行うことができます。以下は、この主題の優れた概要です。

http://www.codeproject.com/KB/books/1861004990.aspx

これは C# ですが、これを VB に変換するのはそれほど難しくありません。どちらの言語でも、オブジェクトを作成してプロパティを設定するだけです。

基本的に、元の画像を Bitmap オブジェクトに読み込みます (組み込みメソッドを使用)。何かを拡大したい場合は、拡大したい領域を記述する Rectangle オブジェクトを定義し、Graphics オブジェクトの DrawImage メソッドを使用して、その領域をコピーして新しいビットマップにサイズ変更します。お気に入り。コード例は、これらすべてのメソッドの使用方法を示しています。

この唯一の比較的難しい部分は、各パネルの境界を自動的に決定することです。一部のパネルが不規則な形をしている場合 (Family Circus のように、誰かがそれを読んでいるかのように)、またはコミックのスキャンが完全に整列していない場合、これは特に困難になる可能性があります。元の画像と、パネルの境界を説明する事前定義された領域を含むコミックをアプリケーションに含める方がよい場合があります。

サンプルを使用して問題が発生した場合は、ここに別の質問を投稿してください。私 (および他の何千人も) が喜んでお手伝いします。

更新:これは、基本的に.Netでこれを行う方法を示す、私が書いたサンプルアプリです。プログラムを実行し、漫画の各パネルをクリックすると、各パネルの拡大画像が下に表示されます。そのコードをすぐに投稿します。

更新 2 :ソース コードは次のとおりです。

更新 3 :コンテキスト内の元のコミックを次に示します。これはジェフ・アトウッドへのオマージュだと思ってください。:)

于 2009-07-16T21:51:26.770 に答える