@@ -8,10 +8,60 @@ _Coming soon - this section will be populated as new features are added to v2._
88
99## Breaking Changes
1010
11- ### Minimum framework version is now .NET Standard 2.0
11+ ### 1. Minimum framework version is now .NET Standard 2.0
1212
1313Upgrade your project to one of the following frameworks if required:
1414
1515- .NET Framework 4.6.2 or higher
1616- .NET Core 2.0 or higher
1717- .NET 5 or higher
18+
19+ ### 2. QRCode and ArtQRCode moved to separate package
20+
21+ The QRCode and ArtQRCode renderers have been moved to the [ QRCoder.SystemDrawing] ( https://www.nuget.org/packages/QRCoder.SystemDrawing ) NuGet package.
22+
23+ ### 3. Base64QRCode only supports PNG format
24+
25+ Base64QRCode now only supports PNG format. To use other image formats, use a different renderer and convert to base64:
26+
27+ ``` csharp
28+ using QRCoder ;
29+
30+ // Generate QR code data
31+ using var qrCodeData = QRCodeGenerator .GenerateQrCode (" Hello World" , QRCodeGenerator .ECCLevel .Q );
32+
33+ // Use QRCode renderer to get a bitmap
34+ using var qrCode = new QRCode (qrCodeData );
35+ using var bitmap = qrCode .GetGraphic (20 );
36+
37+ // Convert bitmap to JPEG byte array
38+ using var ms = new MemoryStream ();
39+ bitmap .Save (ms , System .Drawing .Imaging .ImageFormat .Jpeg );
40+ byte [] jpegBytes = ms .ToArray ();
41+
42+ // Convert to base64
43+ string base64String = Convert .ToBase64String (jpegBytes );
44+ ```
45+
46+ ### 4. SvgQRCode logos must be PNG byte arrays or SVG strings
47+
48+ SvgQRCode logos now require PNG-encoded byte arrays or SVG strings instead of Bitmap instances. Use the SvgLogo constructor with either a byte array for PNG images or a string for SVG content.
49+
50+ ``` csharp
51+ using QRCoder ;
52+ using System .Drawing .Imaging ;
53+
54+ // Convert a Bitmap to PNG byte array
55+ using var bitmap = new Bitmap (" logo.jpg" );
56+ using var ms = new MemoryStream ();
57+ bitmap .Save (ms , ImageFormat .Png );
58+ byte [] pngBytes = ms .ToArray ();
59+
60+ // Create SvgLogo with PNG byte array
61+ var logo = new SvgQRCode .SvgLogo (pngBytes , iconSizePercent : 15 );
62+
63+ // Generate QR code with logo
64+ using var qrCodeData = QRCodeGenerator .GenerateQrCode (" Hello World" , QRCodeGenerator .ECCLevel .Q );
65+ using var qrCode = new SvgQRCode (qrCodeData );
66+ string svg = qrCode .GetGraphic (20 , " #000000" , " #ffffff" , true , SvgQRCode .SizingMode .WidthHeightAttribute , logo );
67+ ```
0 commit comments