c# – 是否可以将图像存储到pdf417条形码中?

是否可以将图像/图片存储(编码)到pdf417条形码中?若有,那么有任何教程或示例代码?

条形码不仅可以保存对数据库中图像的引用.客户还希望能够存储他想要的任何图像.

谢谢.

解决方法:

正如ssasa所提到的,你可以将图像存储为字节数组:

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;
}

…或者,如果它必须是一个字符串,你可以对它进行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);
}

但请记住:PDF417条形码最多可存储2710个字符.虽然这对于您想要编码的大多数结构来说已经足够了,但它对图像的限制相当大.对于小尺寸位图,单色图像和/或高度压缩的JPEG,它可能就足够了,但是不要指望能够做更多的事情,特别是如果你想要能够存储其他数据.

如果您的客户希望能够存储他们想要的任何图片,那么您最好在编写任何代码之前尽快降低他们的期望.

如果是一个选项,您可能需要考虑使用QR Codes.并不是说你会创造奇迹,但你可能会喜欢增加的存储容量.

上一篇:android – 从零售商网站获取价格


下一篇:数据库模型:models(Django)