이번 글에서는 우리 프로젝트에 포함되어 있는 QR코드 인식 기능에 대해 살펴보자.
이걸 제공해주는 이유는 지금 남은 학기내에 작업을 해야 할 것들이 많아 어려움을 겪을 백성들을 위해 친히 만든것이다. 음하하하... ㅡㅡ;
우리 클래스룸에 프로젝트 파일 하나 첨부하여 올려놓았다.
그럼 이걸 어떻게 사용하는지에 대해 보자
클래스룸에서 해당 파일을 다운받아 압축해제하고 키오스크 솔루션 파일이 있는 폴더로 복사한다
복사할때는 git에도 올려야 하니 자신들의 팀 폴더 구조에 맞게 위치시킨다.
보통 아래와 같은 구조로 되어 있을 것이다. 솔루션 파일(*.sln)이 있고 git ignore파일등이 존재
이 디렉토리구조상에서 폴더는 각각의 프로젝트.
이 상태에서 여기에 다운받은 프로젝트 폴더(KQRCode)를 위치한다.
이제 추가한 프로젝트를 우리가 개발하고 있는 프로젝트에 활용하도록 추가해보자.
솔루션 - 오른쪽 클릭 - Add - Existing Project... 선택 (한글로 되어 있으면 알아서~)
선택하고 나면 프로젝트 선택 창이 나온다
친절하게도 딱 우리가 작업하고 있는 폴더를 열어준다. 들어가 보자
KQRCode.csproj 라고 되어 있는 프로젝트 파일을 선택 후 열기.
그러면, 솔루션 탐색기에 해당 프로젝트가 추가되었다.
여기까지한다고 해서 연동되는 것은 아니고 레퍼런스를 추가해야 한다.
KQRCode라고 뙇 나온다. 체크박스에 체크하고 OK
Visual Studio 솔루션탐색기에 보면 해당 프로젝트에 KQRCode가 추가된 것을 볼 수 있다.
이제 코딩하면 된다.
이쯤이면 이 사람이 왜 이렇게 자세하게 설명해주지?란 의문이 들어야 한다.
사실은 오늘 오전에는 중학교 학생들을 대상으로 수업을 했다. 깨달음을 얻었다. 더 자세히 꼼꼼히 해야 한다는 것을
코딩해보자.
QR코드인식을 사용할 page나 usercontrol에 다음과 같이 코딩한다
나는 샘플을 만들기 위해 Window에다가 그냥 했다.
<Window x:Class="QRSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:QRSample"
xmlns:qrcode="clr-namespace:KQRCode;assembly=KQRCode"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<qrcode:KQRWebCam x:Name="webcam" Margin="12"
QrDecoded="webcam_QrDecoded" />
<TextBox x:Name="tbRecog" Margin="12,12,12,12"
Text="인식된 값이 여기에 나온단다"
Height="30"
VerticalAlignment="Bottom"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Center"></TextBox>
</Grid>
</Window>
TextBox는 인식이 잘되나 보려고 한거니 실제 개발이 완료되었을 때는 필요없다. 각자 상황에 맞게 TextBlock이나 Label등을 사용해서 표시하면 된다.
이쯤에서 얼쑤~ 해야 한다. 듣고 가자. 어깨춤 출 준비~ (꼭 사운드 ON)
KQRWebCam에서 QR코드 인식이 되면 QRDecoded 이벤트가 발생된다.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
//카메라가 여러대일경우 값을 바꾸면 됨.
//콤보박스로 제공하면 좋으나 우리 프로젝트에서는 불필요함
webcam.CameraIndex = 0;
}
private void webcam_QrDecoded(object sender, string e)
{
tbRecog.Text = e;
}
}
두번째 파라미터 string e 에 인식된 정보가 나온다.
저 QR코드는 어떻게 만들어요는 하지 말자. 수업 때 아마도 뒤에서 내가 이러고 있을거다. 와씨
그럼 이만. 난 밥좀 먹고 온다.
'개발' 카테고리의 다른 글
[VS] Code Snippet 활용하기 (0) | 2020.11.21 |
---|---|
[WPF] Entity Framework Core로 SQLite 다루기 (0) | 2020.10.26 |
[WPF] 스타일(Style)에 대해 더 살펴보기 (0) | 2020.10.05 |
[WPF] Page에 대해 더 살펴보기 (0) | 2020.10.04 |
[WPF] 화면 전환 - Frame과 Page (0) | 2020.10.04 |