QrCoder Asp.Net-如何消除噪音?
现在我正在使用Asp.Net中的QrCoder创建我的QR码。您可以在下面看到我的代码:QrCoder Asp.Net-如何消除噪音?,asp.net,wpf,bitmap,asp.net-core-mvc,qr-code,Asp.net,Wpf,Bitmap,Asp.net Core Mvc,Qr Code,现在我正在使用Asp.Net中的QrCoder创建我的QR码。您可以在下面看到我的代码: SvgQrCode: public void UpdateText(string value) { using (var qrGenerator = new QRCodeGenerator()) { using (var qrCodeData = qrGenerator.CreateQrCode(value, QRCodeGenerat
SvgQrCode:
public void UpdateText(string value)
{
using (var qrGenerator = new QRCodeGenerator())
{
using (var qrCodeData = qrGenerator.CreateQrCode(value, QRCodeGenerator.ECCLevel.Q))
{
using (var qrCode = new QRCode(qrCodeData))
{
using (var bitmap = qrCode.GetGraphic(1, Color.Black, Color.White, false))
{
Image.FromData(bitmap);
}
Text = value;
} } } }
Xml: <Image Source="{Binding Element.ImageSource}"
RenderOptions.BitmapScalingMode="NearestNeighbor"
RenderOptions.EdgeMode="Aliased"
Width="{Binding Element.Width}"
Height="{Binding Element.Height}"
Stretch="Uniform">
我尝试的另一件事是将qrCode.GetGraphic(1)
更改为更高的值,如qrCode.GetGraphic(10)
,这会增加每个模块的像素数。但这并不是一个解决问题的干净方法,因为噪声变得越来越小(因此你几乎看不到它了),每个模块的像素也在增加。
我的问题:我正在使用解码二维码、条形码和图像的方法。因此,如果我要添加一个图像,它将是黑白的。当然,我可以使用if语句并检查它是否是图像或qr/条形码。但是为什么PixelFormats.Gray8
会产生噪音呢?为什么不干净?我发现了问题。我忽略了这些行,没有意识到.jpeg被选为格式:
public void FromData(Bitmap bitmap)
{
using (var ms = new MemoryStream())
{
bitmap.Save(ms, ImageFormat.Jpeg);
//...
我发现了问题。我忽略了这些行,没有意识到.jpeg被选为格式:
public void FromData(Bitmap bitmap)
{
using (var ms = new MemoryStream())
{
bitmap.Save(ms, ImageFormat.Jpeg);
//...