퇴근5분전

 이번에 새로 만든 낙서판!!

 

 

음... 잘 만들어졌는뎅.....

 

그린샷 캡쳐모듈이 .. 좀 이상하넹??

 

전에 안그랬던것 같은뎅 시간이 지나면서 좀 이상한 동작을 한다.

 

IE 캡쳐를 단축키로 하면... 동작이 원래대로 안나타난다..

 

어제 종일 만들고 오늘은 배경이미지 추가했는뎅... IE 캡쳐가 좀 이상하넹..

 

브라우저 선택 후 화면캡쳐하면 괜찮은뎅...

 

좀 쉬었다가 다시 차근 차근 쫒아가봐야겠다.

 

태블릿에 올려서 써봐야지....

 

용도 : 기획 문서를 캡쳐해서 배경으로 사용하고 낙서판을 여러장 만들어서 펜으로 기록할수 있게 만들었다.

 

---------------------------------------------------------------------------------------------------------------------------

 

한숨 자고 다시 디버깅시작해서 버그 잡았다.

문제는 유튜브<<<< 이녀석이었다.  전에도 유튜브에서 문제가 있었는데 ...

 

옆에 페어리테일 켜놓고 캡쳐 테스트 하다보니 계속 유튜브로 캡쳐를 했는데 안되길래 왜 그런가 했더니...

 

다음 페이지로 테스트 해보니 잘되네?? 뭐지?? 싶다가...

 

하나 하나 추적끝에 수정했다.

 

이제 잘된다. 타블렛으로 테스트 해보니 잘된다.

 

제목 적는 판넬이 좀 작은 느낌이 있긴한데... 좀더 키워야겠다.

 

 

 

 

 

 

 

 

 

 

 

 

정말 오래 걸린것 같다. 마우스로 그리던 것을... 이번에 산 태블릿으로 프로그램올리니..

이상하게 그려지고 뚝뚝끊기고... 안찍히고... 등등... 이상이 많았는데...

 

이제 편하게 그릴수 있게 되었다. 데모 샘플도 만들었고, 인터넷에 없는 지우개 기능도 만들었고...

웃... 프로그램에서 그려진 것만 찍으니 위처럼 나왔다.  ( 역시 닷넷 좋아... 라이브러리 하나로 저렇게 구현이 가능하다니.. )

 

 

지우개도 구현이 되었다. ( 쉽지 않네 ..;; )

 

앞으로 할일은... 퇴근해서 Prezi와 Npt 그리고 Test이력 프로그램, 곧, 그림 그리는 기능들어간 것들은 모두 수정해야겠다.

 

이 맛에 코딩하는 것...

 

 

 

https://www.codeproject.com/Articles/17895/Handling-Touch-Pen-or-Mouse-Digitizer-input-in-you

 

 

윈폼에서 GDI+ 가지고 열심히 처리해봤지만 어렵던데...

 

타블렛에 올려서 돌려보면 펜으로 그리면 이상하게 나타나서리...

 

근데... 이거 괜찮은 소스 찾았다.

 

주말에 가지고 놀 소스가 ..  +_+;;

 

공부해서 Prezi나 다른 드로잉 프로그램에 접목해야겠다.

 

* 윈폼에 드로잉은.. 좀 구려서 위에꺼 쓰공, 지우개 구현은 오늘 엄청 깔끔한 구현방법을 찾았다.

 

얼떨결에 해결방법을 찾았다.

 

백그라운드를 두고 그림을 그린 후 지울때!!!   배경은 두고 그려진 이미지만 지우는 처리...

완전 개꿀...

 

리소스... 관련해서 아래처럼 직접 관리가 가능하더랑...

( 이번에 사용할 프레임웍을 분석해보다가... 파일은 없는데 사용하는 코드만 있길래 구글링 열심히 해서 찾았다 )

ResourceWriter 로 리소스 Key, Value로 입력하면 아래 이미지 처럼 파일로 생성이 된다.

설명에는 개인정보등을 담아두지 말라고 써있다.

 

 

생성된 리소스 파일

>> 약간의 인코딩이 되어 있어 열면.. 깨진 텍스트 파일로 보인다.

 

> 소스파일은 숨겨둠.

 

 

 이번 플젝 중에 이런게 있으면 좀 더 개발이 편하겠다 싶어서...  후딱 만들었다.

 

내일 회사가서 설치하고 써봐야지..

 

 

 

* 사용 순서

1. 코드를 작성할때 편집창에 컨트롤이름 작성한다.

2. 우측버튼으로 메뉴를 띄워 [코드변환] 메뉴를 선택하여 템플릿 목록을 띄운다.

3. 변환 템플릿 이름을 더블클릭한다.

  >> 이때 초기에 입력한 컨트롤이름을 선택해두면 템플릿에 안에 있는 키워드와 교체하여 반영해준다.

4. 변환 된 소스의 나머지 처리부분을 수정한다.

 

 

기존에 코드조각 프로그램도 있지만 이건 좀더 간단하게 코드를 변경하고 관리할 수 있다.

 

폴더명 ( 그룹명 )

       파일명 ( 템플릿명 )

       파일내용 ( 템플릿 내용 )

 

단순하게 위처럼 관리하므로 등록하고 싶으면 텍스트파일 UTF-8 로 수정하면 끝!

 

추가 2019.01.06 *****************************************************************************************************

 

기존에 디렉토리와 파일을 직접 익스플로와 메모장으로 추가 편집했던것을 프로그램내에 넣었다.

 

 

 

 

 

 

 

 

 이번 프로젝트를 시작하면서 공통쪽을 준비하면서 다국어 관련 정보를 찾아봤다.

예전에 다국어 관련 테스트 했을때의 방법은 폼개발을 해놓고

 폼에서 Localization 프로퍼티 true 맞추고 Language를 변경하면 컨트롤에 리소스 파일이 하나 생긴다. 이를 이용해서 적용하는 방법이 있다.

 

이번에 찾은 방법은 좀 다르다. WPF처럼 리소스를 별도로 관리할수 있는 방법이다.

Dll_Resource 프로젝트를 만들고 여기에 각 언어별 리소스 파일을 만든다.

 

그리고 Demo_Resource는 Dll_Resource를 참조한다.

 

그리고 Dll_Resource는 Demo_Resource를 FriendAssembly 로 지정한다.

 

오잉??? 여기서 FriendAssembly 라는걸 처음 접했다.

 

Resouce의 접근자가 Internal로 지정되어 있는데 이를 public으로 변경 후 접근해도 되겠지만...

 

어셈블리끼리 친구먹게 해준다.

 

internal 접근자는 어셈블리 내에서 '공개' 제한자인데 어셈블리 밖에서 접근하려면 프로퍼티는 상속빼고는 접근이 안된다.

 

이걸 Dll_Resource 의 Assembly.cs에


// Assembly Frend
[assembly: InternalsVisibleTo("Demo_Resource")]

 

지정해주면!!! 접근이 가능하고

 

Demo_Resource의 소스코드 작성시

 

  apply(  Dll_Resource.Properties.Resources.ResourceManager  );

 

이렇게 접근이 가능하다.

 

>> 혼동하지 말기..

  리소스 접근한다고

      ResourceManager 객체로 로딩해서 접근하려고 하니

       자꾸 서명하라고 에러 뜨고 그런다. 서명을해도  공개키를 FriendAssembly 지정할때 적어주어야 한다는데...

          https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/assemblies-gac/how-to-create-signed-friend-assemblies

 

         음.... 근데 PublicKey 를??? 어떻게 얻지?.... 서명하고 키열어보면 ...