J'ai une image (au format .png), et je veux que cette image soit convertie en binaire.Convertir l'image en binaire?
Comment cela peut-il être fait en utilisant C#?
J'ai une image (au format .png), et je veux que cette image soit convertie en binaire.Convertir l'image en binaire?
Comment cela peut-il être fait en utilisant C#?
Puisque vous avez un emploi du fichier: -
Response.ContentType = "image/png";
Response.WriteFile(physicalPathOfPngFile);
Comment le convertir en image? –
byte[] b = File.ReadAllBytes(file);
ouvre un fichier binaire, lit les contenu du fichier dans un octet réseau , et ferme le fichier.
S'il n'est pas nécessaire de traiter ce tableau avant de l'envoyer à la réponse, laissez ASP.NET le gérer en utilisant WriteFile – AnthonyWJones
Essayez ceci:
Byte[] result
= (Byte[])new ImageConverter().ConvertTo(yourImage, typeof(Byte[]));
Vous pouvez faire:
MemoryStream stream = new MemoryStream();
image.Save(stream, ImageFormat.Png);
BinaryReader streamreader = new BinaryReader(stream);
byte[] data = streamreader.ReadBytes(stream.Length);
données
contient alors le contenu du image.
D'abord, convertissez l'image en un tableau d'octets en utilisant la classe ImageConverter. Puis spécifiez le mime type de votre image png, et voilà!
Voici un exemple:
TypeConverter tc = TypeDescriptor.GetConverter(typeof(Byte[]));
Response.ContentType = "image/png";
Response.BinaryWrite((Byte[])tc.ConvertTo(img,tc));
System.Drawing.Image image = System.Drawing.Image.FromFile("filename");
byte[] buffer;
MemoryStream stream = new MemoryStream();
image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
buffer = stream.ToArray(); // converted to byte array
stream = new MemoryStream();
stream.Read(buffer, 0, buffer.Length);
stream.Seek(0, SeekOrigin.Begin);
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
oui, merci. corrigée! –
public static byte[] ImageToBinary(string imagePath)
{
FileStream fS = new FileStream(imagePath, FileMode.Open, FileAccess.Read);
byte[] b = new byte[fS.Length];
fS.Read(b, 0, (int)fS.Length);
fS.Close();
return b;
}
utiliser juste au-dessus du code je pense que votre problème sera résolu
using System.IO;
FileStream fs=new FileStream(Path, FileMode.Open, FileAccess.Read); //Path is image location
Byte[] bindata= new byte[Convert.ToInt32(fs.Length)];
fs.Read(bindata, 0, Convert.ToInt32(fs.Length));
Que voulez-vous dire «convertir en binaire? Voulez-vous dire, par exemple, en noir et blanc? – pavium
Pourriez-vous l'expliquer un peu plus? Une image est déjà binaire. Voulez-vous qu'il soit décompressé, notre voulez-vous accéder aux pixels? –
Je dois écrire les données binaires de l'image à l'écran en utilisant Response.BinaryWrite(); – Martijn