본문 바로가기

Development

Access BitmapSource Pixel Data (WIC Image Hack) Introduction WPF에서 파일로부터 불러온 이미지의 픽셀데이터에 접근하고자 할 경우 아래와 같이 CopyPixels를 통해 이미지에 포함된 픽셀 값들을 복사하는 방법을 사용합니다. CopyPixels는 이름에서도 알 수 있듯이 이미지에 있는 픽셀데이터를 복사하는데요, 이 때문에 데이터의 용도가 단순한 읽기 전용이거나 업데이트를 위한 용도일 경우에는 불필요한 메모리와 퍼포먼스를 요구하게 되므로 효율적이지 못합니다. byte[] Pixels = new byte[CopyPixelsSource.PixelHeight * CopyPixelsSource.BackBufferStride]; OriginalSource.CopyPixels(Pixels, CopyPixelsSource.BackBufferStride,.. 더보기
WPF Window Resizer(Attached Property) Introduction WPF를 이용해 Application을 개발 할 때 기본 Window모양이 아닌 임의의 디자인의 Window로 구현해야 하는 경우가 있습니다. 이때 아래 그림과 같이 WindowStyle 속성과 AllowsTransparency 속성을 이용해 기본 Frame을 나타나지 않도록 구현 할 수 있는데요. WindowStyle을 None으로 설정할 경우 기본 제목 표시줄을 사라지지만 윈도우의 테두리에 크기를 변경할 때 사용하는 테두리가 남아 있는데요. 이를 제거하기 위해서 AllowsTransparency 속성을 True 지정하면 이 테두리가 사라지게 됩니다. 그런데, 한가지 문제점은 AllowsTransparency 속성이 True일 경우에는 기본적으로 마우스를 이용해 크기조절이 불가능.. 더보기
C# Reverse String Format Using Regex Introduction 이번시간에는 정규표현식을 이용해 String Format이 적용된 텍스트에서 값을 추출하는 방법에 대해 소개합니다. 아래는 이번시간에 구현하게될 내용의 스크린캡쳐 화면 입니다. About StringFormat .Net에서 StringFormat은 입력된 텍스트를 일정한 형식(Format)에 맞춰 텍스트를 변환해주는것을 의미하며 String.Format이나 Console.WriteLine등에서 사용합니다. Composite formatting이라고도 부르는 StringFormat은 일반적으로 "고정문자열"과 "서식"으로 이루어지는데 아래 코드를 보면, 고정 텍스트는 "Name = " 과 ", "Hours = "입니다. string myName = "Kuru"; String.Form.. 더보기
File Encryption & Decryption Helper Introduction 어플리케이션을 개발할때 간혹 파일을 암호화 해야 하는 경우가 있습니다. 이번시간에는 파일을 암호화하는 방법중에서 가장 널리 이용되고 있는 RSA와 AES(DES)를 이용해 파일을 암호화 하고 복호화 하는 방법에 대해 소개합니다. 아래는 이번시간에 구현하게될 샘플 동영상입니다. 위 동영상의 시연 순서를 설명드리면 아래와 같습니다. 1. Generate Key버튼을 이용해 RSA키를 생성한다. (입력된 파일 명으로 개인키와 공개키가 생성) 2. Encrypt File버튼을 이용해 선택한 파일을 암호화한다. (선택한 파일과 동일한 폴더에 ".Encrypt" 확장자의 암호화된 파일이 생성) 3. Decrypt File버튼을 이용해 선택한 파일을 복호화한다. (선택한 파일과 동일한 폴더에 .. 더보기
Geometry Padding Extension Introduction WPF에서 Geometry를 이용해 도형을 그릴때 테두리를 그리기 위해 아래와 같이 Stroke를 이용해 도형을 그립니다. 그런데 Stroke를 이용해 테두리를 그릴때 Stroke가 하나가 아니고 두개 이상을 그려야 하는 경우 문제가 발생합니다. 정 N각형의 경우 간한히 크기가 작은 도형을 한번 더 그려서 Stroke를 두개 이상 생성하는게 가능하지만, 임의의 모양의 도형일 경우에는 아래 그림과 같이 단순히 크기 조절만으로는 Stroke와 같은 효과를 낼 수 가 없습니다. 정 N각 형이 아닐 경우 직접 Path Data의 위치를 수정하거나 다시 그려야 하는데 간단한 모양일 경우에는 한두번정도 해보겠지만, 모양이 복잡해질 수록 정확도는 떨어지고 시간도 오래걸리게 됩니다. 이번시간에는.. 더보기