このコードでそれを実行しようとしましたがArgumentException
、関数に「ms」が含まれていbyteArrayToImage
ます。
byteArrayToImage
で正しく動作してbyte[]
いますが、ノード値を取得するときに問題が発生します。
XMLノードにはバイナリコードが含まれています。
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
foreach (var binary in xdoc.Root.Elements(ns + "binary"))
{
if (item.Value == "cover.jpg") MessageBox.Show(item.Value.ToString());
foreach (var binaryAttr in binary.Attributes())
{
if (binaryAttr.Value == "cover.jpg")
{
var s = GetBytes(binary.Value);
byteArrayToImage(s);
}
}
}