私はまだ C# があまり得意ではないので、ご容赦ください。小さなサイズ (16x16、32x32 など) の写真、特に Minecraft テクスチャ ファイルを編集できるプログラムを作成しようとしています。長方形を表示できる描画面を作成する必要があります。これまでのところ機能しているので、WPFの長方形を使用したいと思います。それらを WPF グリッド パネルに配置しようとしましたが、1 ピクセル幅の行と列を持つ適切なサイズのグリッド パネルを作成するには、約 30 秒かかり、かなりの時間がかかります。どんなアイデアも役に立ちます。
2 に答える
あなたの指示は最も効率的ではないかもしれないと感じています。もちろん、画像を多数の長方形に変換することは十分に可能ですが、ピクセルが大量になると効率的ではありません。(32x32 = 1024 個の長方形)。
したがって、あなたが望むように WPF の四角形を使用する代わりに、再考することをお勧めします。代わりに、WriteableBitmapを使用してみてください。
あなたの漠然とした説明から、ユーザーが色を選択し、その色のテクスチャにマウスで描画できるペイントのようなプログラムを書いていると思います。WriteableBitmap を Image タグにバインドし、MouseMove イベントにイベント リスナーを追加することで、マウスの位置と、マウスの左/右ボタンが押されているかどうかを取得できます。これを Image の x 位置と ActualWidth、および y 位置と ActualHeight を含む数学と組み合わせると、マウスが置かれているピクセルを見つけ、そのピクセルの色を設定できます。
したがって、基本的に、長方形は最善の策ではありません。特に、それらを含めるために 32x32 グリッドを作成しようとする場合。WriteableBitmap を使用します。
のようなより軽量なものを使用することをお勧めしますDrawingVisuals
。または、本当にテクスチャを表示したい場合は、それらを前処理して、結果を法線として表示できますImage
。