Ho un'immagine (in formato .png) e voglio che questa immagine venga convertita in binario.Converti l'immagine in binario?
Come può essere fatto utilizzando C#?
Ho un'immagine (in formato .png) e voglio che questa immagine venga convertita in binario.Converti l'immagine in binario?
Come può essere fatto utilizzando C#?
Dal momento che si dispone di un uso del file: -
Response.ContentType = "image/png";
Response.WriteFile(physicalPathOfPngFile);
Come riconvertirlo in Immagine? –
byte[] b = File.ReadAllBytes(file);
apre un file binario, legge il contenuto del file in un byte matrice, e quindi chiude il file.
A meno che non sia necessario elaborare quell'array prima di inviarlo alla risposta, puoi lasciare che ASP.NET lo gestisca usando WriteFile – AnthonyWJones
Prova questo:
Byte[] result
= (Byte[])new ImageConverter().ConvertTo(yourImage, typeof(Byte[]));
si potrebbe fare:
MemoryStream stream = new MemoryStream();
image.Save(stream, ImageFormat.Png);
BinaryReader streamreader = new BinaryReader(stream);
byte[] data = streamreader.ReadBytes(stream.Length);
dati sarebbero poi contenere il contenuto del Immagine.
Innanzitutto, convertire l'immagine in un array di byte utilizzando la classe ImageConverter. Quindi specifica il mime type della tua immagine png e voilà!
Ecco un esempio:
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);
sì, grazie. corretto! –
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;
}
basta usare sopra il codice Credo che il problema sarà risolto
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));
Cosa vuol dire 'convertire in binario'? Intendi, ad esempio, in bianco e nero? – pavium
Potresti spiegarlo un po 'di più? Un'immagine è già binaria. Vuoi decomprimerlo, vuoi accedere ai pixel? –
Devo scrivere i dati binari dell'immagine sullo schermo usando Response.BinaryWrite(); – Martijn