Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QrCoder Asp.Net-如何消除噪音?_Asp.net_Wpf_Bitmap_Asp.net Core Mvc_Qr Code - Fatal编程技术网

QrCoder Asp.Net-如何消除噪音?

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

现在我正在使用Asp.Net中的QrCoder创建我的QR码。您可以在下面看到我的代码:
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);
     //...