【发布时间】:2015-06-25 14:58:33
【问题描述】:
我使用ZXing.Net库生成二维码图片-
在我班上名列前茅:
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
我的方法:
protected void UpdateQRSource(String address)
{
QRCodeWriter qrcode = new QRCodeWriter();
BarcodeWriter barcodeWriter = new BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new EncodingOptions
{
Width = 300,
Height = 300,
Margin = 4
}
};
using (Bitmap bitmap = barcodeWriter.Write(address))
{
IntPtr hbmp = bitmap.GetHbitmap();
try
{
BitmapSource source = Imaging.CreateBitmapSourceFromHBitmap(
hbmp,
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
qrImage.Source = source; // set WPF image source
}
finally
{
DeleteObject(hbmp);
}
}
}
请告诉我如何在二维码中间添加短文本字符串或自定义图像 - 类似于下面的Wikipedia visual QR code:
更新:
在 QR 码中嵌入自定义徽标(不破坏后者!)似乎不是一项简单的任务,正如科学出版物 QR Images: Optimized Image Embedding in QR Codes 显示的那样......
但我仍然想知道是否可以生成一个二维码(如上面的源代码),然后用自定义文本或徽标覆盖它,然后通过 ZXing.Net 再次验证生成的图像。
【问题讨论】:
-
我不知道库,但这不是文本,这是图像,你应该往这个方向看
-
是的,确定最终输出是图像 - 但我在 ZXing 库中使用任何方法在生成的 QR 中添加自定义文本或图像。此外,我不能只是将我的图像放在 QR 上,然后只希望由于纠错(正如一些博客所建议的那样)它仍然可读 - 因为我的 QR 是动态生成的并且包含(可变)蓝牙地址 + 更多东西。
-
我的意思是没有添加文本的方法,只有在你的二维码中添加图像的方法,就像维基百科放维基百科标志而不是文本
wikipedia