2017-10-18 10 views
1

Je travaille sur un projet où nous devons extraire des informations du fichier .img. Ce qui est connu, c'est que le fichier .img contient une image avec 512x512 pixels, et la taille de chaque pixel est de 2 bits de type short. Nous devons extraire cette image à partir du fichier. La question est, comment lire ce fichier avec C#? Ma ligne en cours de lecture binaire est:Extraction du contenu Fichier .img

byte[] bytes = System.IO.File.ReadAllBytes("C:\temp\Jonatan\test23.img");

Merci pour votre aide!

+0

Vous l'avez fait, vous venez de le lire. Maintenant, que voulez-vous faire avec cette information? Dessinez sur une image et affichez ou enregistrez-le dans un autre format? Ensuite, vous devrez créer un bitmap et affecter des couleurs de pixel. – CodeCaster

+0

Oui, je veux l'afficher. Comment puis-je attribuer des couleurs de pixels? – user8795061

+0

Certains fichiers image ont une [signature de fichier] (https://en.wikipedia.org/wiki/File_format#Magic_number) qui indique le format de fichier. Quels sont les premiers octets du fichier? –

Répondre

2

Selon le format réel de vos données de pixels, la création d'un bitmap à partir du tableau d'octets pourrait être aussi simple que cela:

var width = 512; 
var height = 512; 
var stride = width * 2; 

var bitmap = BitmapSource.Create(
    width, height, 96, 96, PixelFormats.Gray16, null, bytes, stride); 

Vous pourriez avoir maintenant un élément d'image en XAML

<Image x:Name="image"/> 

et définissez sa propriété Source sur le BitmapSource:

image.Source = bitmap;