Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

QRCoder

qrcoder MyGet Build StatusNuGet Badge

Info

QRCoder is a simple library, written in C#.NET, which enables you to create QR codes. It hasn't any dependencies to other libraries and is available as .NET Framework and .NET Core PCL version on NuGet.

Feel free to grab-up/fork the project and make it better!

For more information see: QRCode Wiki | Creator's blog (english) | Creator's blog (german)

Legal information and credits

QRCoder is project by Raffael Herrmann and was first released in 10/2013. It's licensed under the MIT license.


Installation

Either checkout this Github repository or install QRCoder via NuGet Package Manager. If you want to use NuGet just search for "QRCoder" or run the following command in the NuGet Package Manager console:

PM> Install-Package QRCoder

Note: The NuGet feed contains only stable releases. If you wan't the latest build add one of the following urls to the "Package Sources" of Visual Studio's NuGet Package Manager options.

NuGet V3 feed URL (Visual Studio 2015+):https://www.myget.org/F/qrcoder/api/v3/index.json

NuGet V2 feed URL (Visual Studio 2012+):https://www.myget.org/F/qrcoder/api/v2

Usage

You only need five lines of code, to generate and view your first QR code.

QRCodeGeneratorqrGenerator=newQRCodeGenerator();QRCodeDataqrCodeData=qrGenerator.CreateQrCode("The text which should be encoded.",QRCodeGenerator.ECCLevel.Q);QRCodeqrCode=newQRCode(qrCodeData);BitmapqrCodeImage=qrCode.GetGraphic(20);

Optional parameters and overloads

The GetGraphics-method has some more overloads. The first two enable you to set the color of the QR code graphic. One uses Color-class-types, the other HTML hex color notation.

//Set color by using Color-class typesBitmapqrCodeImage=qrCode.GetGraphic(20,Color.DarkRed,Color.PaleGreen,true);//Set color by using HTML hex color notationBitmapqrCodeImage=qrCode.GetGraphic(20,"#000ff0","#0ff000");

The other overload enables you to render a logo/image in the center of the QR code.

BitmapqrCodeImage=qrCode.GetGraphic(20,Color.Black,Color.White,(Bitmap)Bitmap.FromFile("C:\\myimage.png"));

There are a plenty of other options. So feel free to read more on that in our wiki: Wiki: How to use QRCoder

Special rendering types

Besides the normal QRCode class (which is shown in the example above) for creating QR codes in Bitmap format, there are some more QR code rendering classes, each for another special purpose.

(*) - These classes are only available in the .NET Framework/.NET Standard version. If you use the PCL version (e.g. for Universal apps), you have to use either BitmapByteQRCode or PngByteQRCode classes.
(**) - This class is hosted in an own package (QRCoder.Unity).

For more information about the different rendering types click on one of the types in the list above or have a look at: Wiki: Advanced usage - QR-Code renderers

PayloadGenerator.cs - Generate QR code payloads

Technically QR code is just a visual representation of a text/string. Nevertheless most QR code readers can read "special" QR codes which trigger different actions.

For example: WiFi-QRcodes which, when scanned by smartphone, let the smartphone join an access point automatically.

This "special" QR codes are generated by using special structured payload string, when generating the QR code. The PayloadGenerator.cs class helps you to generate this payload strings. To generate a WiFi payload for example, you need just this one line of code:

PayloadGenerator.WiFiwifiPayload=newPayloadGenerator.WiFi("MyWiFi-SSID","MyWiFi-Pass",PayloadGenerator.WiFi.Authentication.WPA);

To generate a QR code from this payload, just call the "ToString()"-method and pass it to the QRCoder.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload.ToString(),QRCodeGenerator.ECCLevel.Q);//[...]

You can also use overloaded method that accepts Payload as parameter. Payload generator can have QR Code Version set (default is auto set), ECC Level (default is M) and ECI mode (default is automatic detection).

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload);//[...]

Or if you want to override ECC Level set by Payload generator, you can use overloaded method, that allows setting ECC Level.

//[...]QRCodeDataqrCodeData=qrGenerator.CreateQrCode(wifiPayload,QRCodeGenerator.ECCLevel.Q);//[...]

You can learn more about the payload generator in our Wiki.

The PayloadGenerator supports the following types of payloads:

About

A pure C# Open Source QR Code implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages