Que tipo devo usar para salvar imagens usando C #?
Pergunta
Eu tenho essa classe chamada herói que tem os seguintes atributos. String é para letras, int para os números, etc. O que eu posso usar se eu vou estar salvando uma imagem lá?
public class Hero
{
[Hero class's attributes (non-image related]
public byte[] Portrait { get; set; }
public byte[] Screenshot { get; set; }
}
Retrato e tela vão ser .png ou .jpg. Devo usar um byte [] array para eles? Estou um pouco confuso.
LOL, deixa pra lá. Eu descobri o meu erro. Eu tive que usar System.Windows.Media.Imaging. Vai figura.
Solução
Eu estou indo para usá-los para apenas mostrando-lhes em um formulário WPF.
BitmapImage é bom para XAML aplicações com base, ou outra classe de derivados BitmapSource pode ser mais apropriado para as suas necessidades, caso contrário, apenas uma planície antiga Bitmap .
Outras dicas
Há uma real Bitmap classe . Gostaria de sugerir fortemente contra o uso de uma matriz de bytes para ele como que ele poderia se tornar corrompido e você iria invalidar a imagem. Se você manteve em um objeto Bitmap, você pode passar diretamente o objeto para o PictureBox controle e torná-lo na tela.
Additonally, ao contrário do formato BMP PNG [assumindo] e JPG não armazenar o formato de pixel da mesma forma ou representação. JPG faz modelo de montagem [dentro de blocos] (onde fica algumas de suas economias e perde informações) e armazena a representação do modelo em vez de valores de cor diretos.
System.Drawing.Bitmap
http://msdn.microsoft.com/en -us / library / system.drawing.bitmap.aspx
Como é que você vai usá-los? A Imagem classe pode ser mais apropriado. Bitmap pode ser outra boa.
EDIT:
Em seguida, você vai querer usar um BitmapImage . Veja também SO 94456 para algum uso.
Depende:
- Se você precisar de manipular a imagem (girar, redimensionar etc), então use Bitmap (ou sua classe base - imagem ).
- Se você armazená-lo apenas para passar a imagem para o cliente (UI), então:
- Para utilização matriz aplicação web de bytes para que possa ser directamente processado para o fluxo de resposta.
- Para o uso do aplicativo WPF o que é fácil de se ligam a (que pode ser BitmapImage , consulte ).