짓다 | 코드 적용 범위 | 빌드 상태 | NuGet 패키지 |
---|---|---|---|
최신 / 안정 |
QRCoder는 C#.NET으로 작성된 간단한 라이브러리로, 이를 통해 QR 코드를 만들 수 있습니다. 외부 라이브러리에 대한 종속성이 없으며 1 NuGet에서 패키지로 제공되며 .NET Framework, .NET Core, .NET Standard 및 .NET을 지원합니다. 지원되는 대상 프레임워크의 전체 목록은 여기에서 찾을 수 있습니다.
자유롭게 프로젝트를 잡고/포크하여 더 좋게 만드세요!
자세한 내용은 QRCode Wiki | 크리에이터 블로그(영문) | 제작자 블로그(독일어)
현재 및 모든 이전 릴리스에 대한 릴리스 노트는 여기에서 읽을 수 있습니다. 릴리스 노트
QRCoder는 Raffael Herrmann의 프로젝트로 2013년 10월에 처음 출시되었습니다. MIT 라이센스에 따라 라이센스가 부여되었습니다.
이 Github 저장소를 확인하거나 NuGet 패키지 관리자를 통해 QRCoder를 설치하세요. NuGet을 사용하려면 "QRCoder"를 검색하거나 NuGet 패키지 관리자 콘솔에서 다음 명령을 실행하세요.
PM > Install-Package QRCoder
NuGet 피드에는 주요/안정적인 릴리스만 포함되어 있습니다. 최신 기능과 특징을 원한다면 Github 패키지를 통해 CI 빌드를 사용할 수 있습니다. (Nuget 패키지 관리자에서 Github 패키지를 사용하는 방법에 대한 자세한 내용은 여기에서 확인할 수 있습니다.)
첫 번째 QR 코드를 생성하려면 몇 줄의 코드만 있으면 됩니다.
using ( QRCodeGenerator qrGenerator = new QRCodeGenerator ( ) )
using ( QRCodeData qrCodeData = qrGenerator . CreateQrCode ( " The text which should be encoded. " , QRCodeGenerator . ECCLevel . Q ) )
using ( PngByteQRCode qrCode = new PngByteQRCode ( qrCodeData ) )
{
byte [ ] qrCodeImage = qrCode . GetGraphic ( 20 ) ;
}
다른 옵션도 많이 있습니다. 따라서 우리 위키에서 이에 대한 자세한 내용을 읽어보세요. 위키: QRCoder 사용 방법
비트맵 형식의 QR 코드를 생성하기 위한 일반 PngByteQRCode 클래스(위 예에 표시됨) 외에도 각각 다른 특수 목적을 위한 QR 코드 렌더링 클래스가 더 있습니다.
참고: 모든 대상 프레임워크에서 모든 렌더러를 사용할 수 있는 것은 아닙니다. 선호하는 대상 프레임워크에서 특정 렌더러를 사용할 수 있는지 알아보려면 위키의 호환성 표를 확인하세요.
다양한 렌더링 유형에 대한 자세한 내용을 보려면 위 목록에 있는 유형 중 하나를 클릭하거나 다음을 참조하세요. Wiki: 고급 사용법 - QR-Code 렌더러
기술적으로 QR 코드는 텍스트/문자열을 시각적으로 표현한 것입니다. 그럼에도 불구하고 대부분의 QR 코드 리더는 다양한 작업을 실행하는 "특수" QR 코드를 읽을 수 있습니다.
예: 스마트폰으로 스캔하면 스마트폰이 자동으로 액세스 포인트에 연결되도록 하는 WiFi-QR코드.
이 "특수" QR 코드는 QR 코드를 생성할 때 특수 구조화된 페이로드 문자열을 사용하여 생성됩니다. PayloadGenerator.cs 클래스는 이 페이로드 문자열을 생성하는 데 도움이 됩니다. 예를 들어 WiFi 페이로드를 생성하려면 다음 코드 한 줄만 있으면 됩니다.
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
이 페이로드에서 QR 코드를 생성하려면 "ToString()" 메서드를 호출하고 QRCoder에 전달하면 됩니다.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
페이로드를 매개변수로 받아들이는 오버로드된 메서드를 사용할 수도 있습니다. 페이로드 생성기는 QR 코드 버전 설정(기본값은 자동 설정), ECC 레벨(기본값은 M) 및 ECI 모드(기본값은 자동 감지)를 가질 수 있습니다.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
또는 페이로드 생성기에 의해 설정된 ECC 레벨을 재정의하려는 경우 ECC 레벨을 설정할 수 있는 오버로드된 방법을 사용할 수 있습니다.
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
Wiki에서 페이로드 생성기에 대해 자세히 알아볼 수 있습니다.
PayloadGenerator는 다음 유형의 페이로드를 지원합니다.
(1) 대상 프레임워크에 따라 .NET 라이브러리 System.드로잉.Common 및 System.Text.Encoding.CodePages가 패키지 종속성으로 사용됩니다.