文字列を使用すると、データが失われる可能性があります。画像をバイト配列に変換し、配列を画像に変換した後、データを失うことなく、画像をバイト配列に変換した後、文字列に変換する例を投稿します。
MemoryStream ms = new MemoryStream();
Image.FromFile(@"C:\..\..\..\img.jpg").Save(ms,ImageFormat.Jpeg);
byte[] bytes = ms.ToArray();
MemoryStream ms1 = new MemoryStream(bytes);
Image NewImage = Image.FromStream(ms1);
NewImage.Save(@"C:\..\..\..\img1.jpg");
これを試してみると、必要なものを作成するのに役立つかもしれません。
文字列に変換して戻すには、base64 を使用することをお勧めします。
MemoryStream ms = new MemoryStream();
Image.FromFile(@"C:\..\..\..\img.jpg").Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] bytes = ms.ToArray();
string byteString = Convert.ToBase64String(bytes);
byte[] NewBytes = Convert.FromBase64String(byteString);
MemoryStream ms1 = new MemoryStream(NewBytes);
Image NewImage = Image.FromStream(ms1);
これにより、必要な結果が得られるはずです。
MemoryStream ms = new MemoryStream();
Image.FromFile(@"C:\..\..\..\img.jpg").Save(ms,ImageFormat.Jpeg);
byte[] bytes = ms.ToArray();
string byteString = Convert.ToBase64String(bytes);
次に、この文字列をメソッドに渡すと...
public Image stringToImage(string inputString)
{
byte[] NewBytes = Convert.FromBase64String(inputString);
MemoryStream ms1 = new MemoryStream(NewBytes);
Image NewImage = Image.FromStream(ms1);
return NewImage;
}