您的位置:首页 > 其它

Zxing中文乱码的简单解决办法

2013-06-21 15:25 211 查看
网上的解决办法都是更改源码来实现,实际上看源码就知道如果在encoder的时候,如果添加了编码,就会用编码来替代默认的编码。

public static Bitmap ContentToQRBitmap(string content, int size)
{
Hashtable hints = new Hashtable();

hints.Add(EncodeHintType.CHARACTER_SET, "UTF-8");

ByteMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, size, size,hints);
int width = matrix.Width;
int height = matrix.Height;

Bitmap bmap = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
bmap.SetPixel(x, y, matrix.get_Renamed(x, y) != -1 ? ColorTranslator.FromHtml("0xFF000000") : ColorTranslator.FromHtml("0xFFFFFFFF"));
}
}
return bmap;
}


其中,hints的传入是关键,不同版本的hints有不同的格式,有的是hashtable,有的是Dictionary.看你用的版本。我的版本是zxing 2.0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: