我想開始學習如何拆分圖像以找到其中的模式,但爲了做到這一點,我需要先看看是什麼原因造成的。我想要一個png並將其轉換爲一個字節數組,以便我可以打印出來並查看是否可以識別數組值中的簡單模式。將圖像轉換爲字節[]
到目前爲止,我有這個
public MainWindow()
{
InitializeComponent();
System.Drawing.Image image;
image = System.Drawing.Image.FromFile("one.png");
byte[] imArray = imageToByteArray(image);
String bytes = "";
foreach (Char bite in imArray)
{
bytes += "-"+bite;
}
MessageBox.Show(bytes);
}
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
但它似乎並不奏效。當調用轉換方法時,它給了我一個空錯誤。我不知道爲什麼這是行不通的,因爲我對這些組織的理解是沒有意義的。
如果你可以建議一個更簡單的方法來讓這個轉換免費發佈它。我沒有卡在這個代碼我只想一個工作的例子,所以我有一個起點。
謝謝!
如果您沒有轉換文件的格式,爲什麼不簡單地使用FileStream將文件作爲二進制文件讀取? – 2013-03-04 17:25:28
[File.ReadAllBytes](http://msdn.microsoft.com/en-us/library/system.io.file.readallbytes.aspx) – 2013-03-04 17:26:00
在你的例子中,你打開一個名爲「one.png」的文件,但選擇' imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);'作爲ImageFormat。 – netblognet 2013-03-04 17:30:12