Skip to content

QR Codes with images losing data when converting to byte[] #232

Closed
@Sdraugel

Description

@Sdraugel

Type of issue

[x ] Bug
[ ] Question (e.g. about handling/usage)
[ ] Request for new feature/improvement

Expected Behavior

I expect the generated QR code to look like this but have the logo in the middle.
Screen Shot 2020-04-07 at 1 23 27 PM

Current Behavior

This is currently what is output if adding a logo.
Screen Shot 2020-04-07 at 1 23 03 PM

Steps to Reproduce (for bugs)

Here is my code for generating a QR Code with a logo

private async Task<byte[]> GetLogoQRCode(string url, string darkColorHex, string logoUrl)
        {
            PayloadGenerator.Url generator = new PayloadGenerator.Url(url);
            string payload = generator.ToString();
            using (var qrGenerator = new QRCodeGenerator())
            using (var qrCodeData = qrGenerator.CreateQrCode(payload, QRCodeGenerator.ECCLevel.Q))
            using (var qrCode = new QRCode(qrCodeData))
            using (var stream = new MemoryStream())
            {
                // Grab an image from the internet and convert it to a Bitmap
                var logo = await _webHelper.GetImageFromWeb(logoUrl);
                // Convert a Hex string into a Color
                var darkColor = ColorTranslator.FromHtml(darkColorHex);
                var qrCodeImage = qrCode.GetGraphic(20, darkColor, Color.White, logo, 20);
                qrCodeImage.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
                var result = stream.ToArray();
                return result;
            }
        }

Your Environment

  • OS: macOS Mojave Version 10.14.6
  • Version used: 1.3.5
  • Compiled from source or NuGet package?: Nuget
  • Payload/Encoded text: payload
  • Used payload generator: yes
  • Used ECC-level:
  • Used renderer class:
  • Environment (.NET 3.5, .NET 4.X, .NETCore, ...): .NET 2.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions