Domanda

Ho questa classe denominata Eroe che ha i seguenti attributi. String è per le lettere, int per i numeri, ecc Cosa posso usare se ho intenzione di essere il salvataggio di un'immagine lì?

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

Ritratto e Schermata stanno per essere .png o .jpg file. Dovrei usare un [] array di byte per loro? Sono un po 'confuso.

LOL, non importa. Ho capito il mio errore. Ho dovuto usare System.Windows.Media.Imaging. Vai a capire.

È stato utile?

Soluzione

  

ho intenzione di essere li utilizzano solo per mostrare loro in un form WPF.

BitmapImage è buono per le applicazioni XAML based, o un'altra classe derivata di BitmapSource può essere più appropriato per le vostre esigenze, altrimenti solo una pianura vecchio Bitmap .

Altri suggerimenti

C'è un vero e proprio classe Bitmap . Vi consiglierei vivamente di non utilizzare una matrice Byte per esso che potrebbe essere danneggiato e si invaliderebbe l'immagine. Se hai tenuto in un oggetto bitmap, è possibile passare direttamente l'oggetto al controllo PictureBox e rendere sullo schermo.

Additonally, a differenza del BMP PNG [supponendo] e JPG Non conservare il formato di pixel nello stesso modo o di rappresentanza. JPG fa modello di raccordo [all'interno di blocchi] (dove ottiene alcuni dei suoi risparmi e perde informazioni) e memorizza la rappresentazione del modello, invece di valori di colore diretti.

Come hai intenzione di essere li utilizzano? Il Immagine classe potrebbe essere più appropriato. Bitmap potrebbe essere un altro buon compromesso.

EDIT:

Allora ti consigliamo di utilizzare un BitmapImage . Vedi SO 94.456 per qualche utilizzo.

Dipende:

  1. Se avete bisogno di manipolare l'immagine (ruotare, scalare, ecc), quindi utilizzare Bitmap (o la sua classe base "nofollow noreferrer" - Immagine ).
  2. Se si memorizzano solo per passare l'immagine di client (UI), allora:
    1. Per applicazione web uso matrice di byte in modo che possa essere reso direttamente al flusso di risposta.
    2. Per l'applicazione WPF utilizzare quello che è facile da associare a (che può essere BitmapImage , vedi domanda relativa ).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top