正如 ssasa 提到的,您可以将图像存储为byte数组:
public static byte[] GetBytes(Image image)
{
byte[] byteArray = new byte[0];
using (MemoryStream stream = new MemoryStream())
{
// you may want to choose another image format than PNG
image.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
stream.Close();
byteArray = stream.ToArray();
}
return byteArray;
}
Run Code Online (Sandbox Code Playgroud)
...或者,如果它必须是 a string,您可以对它进行 base64 编码:
public static string GetBase64(Image image)
{
Image yourImage;
// using the function from the first example
var imageBytes = GetBytes(yourImage);
var encodedString = Convert.ToBase64String(imageBytes);
return Encoding.UTF8.GetBytes(encodedString);
}
Run Code Online (Sandbox Code Playgroud)
但请记住:PDF417 条码最多可存储 2710 个字符。虽然这对于您想要编码的大多数结构来说已经绰绰有余,但对于图像来说却是相当有限的。这对于小尺寸位图、单色图像和/或高度压缩的 JPEG 可能就足够了,但不要期望能够做更多的事情,特别是如果您希望能够存储其他数据。
如果您的客户希望能够像您所说的那样存储他们想要的任何图片,那么您最好在编写任何代码之前尽快降低他们的期望。
如果这是一个选项,您可能需要考虑改用二维码。并不是说你会用它们创造奇迹,但你可能会喜欢增加的存储容量。
| 归档时间: |
|
| 查看次数: |
2278 次 |
| 最近记录: |