質問

次の属性を持つ Hero というクラスがあります。String は文字、int は数値などです。そこに画像を保存する場合は何を使用できますか?

public class Hero
{
    [Hero class's attributes (non-image related]
    public byte[] Portrait { get; set; }
    public byte[] Screenshot { get; set; }
}

ポートレートとスクリーンショットは .png または .jpg ファイルになります。byte[] 配列を使用する必要がありますか?少し混乱しています。

笑、気にしないでください。自分の間違いが分かりました。System.WINDOWS.Media.Imaging を使用する必要がありました。ゴーフィギュア。

役に立ちましたか?

解決

WPF フォームに表示するためだけに使用します。

ビットマップ画像 XAML ベースのアプリ、または別の派生クラスに適しています。 ビットマップソース ニーズにはもっと適しているかもしれませんが、そうでない場合は単なる古いものです ビットマップ.

他のヒント

実物があります ビットマップクラス. 。Byte 配列を使用すると破損する可能性があり、イメージが無効になる可能性があるため、使用しないことを強くお勧めします。それを Bitmap オブジェクトに保持した場合は、そのオブジェクトを直接 PictureBox コントロール そしてそれを画面上にレンダリングします。

さらに、BMP 形式とは異なり、PNG [仮定] と JPG はピクセル形式を同じ形式または表現で保存しません。JPG は [ブロック内で] モデル フィッティングを実行し (節約の一部が得られ、情報が失われます)、直接のカラー値の代わりにモデルの表現を保存します。

どうやって使うつもりですか?の 画像 クラスの方が適切かもしれません。 ビットマップ 別の良いものかもしれません。

編集:

次に、 ビットマップ画像. 。こちらも参照 SO 94456 何らかの用途のために。

場合によります:

  1. 画像を操作する必要がある場合 (回転、拡大縮小など)、次を使用します。 ビットマップ (またはその基本クラス - 画像).
  2. 画像をクライアント (UI) に渡すためだけに保存​​する場合は、次のようになります。
    1. Web アプリケーションの場合は、応答ストリームに直接レンダリングできるようにバイト配列を使用します。
    2. WPF アプリケーションの場合は、バインドしやすいものを使用してください ( ビットマップ画像, 、 見る 関連する質問).
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top