[MFC] ListControl 에 image 나열 혹은 삽입하기

이미지들을 쭉 나열해야할 필요성이 있을 때 쓰기 좋.....은진 모르겠지만 나중에 또 쓸일이 있을 듯 하여 기록!!   우선 멤버 변수로 CListCtrl m_lcImageList;를 선언한 상태임  TCHAR    szPath[_MAX_PATH]; int nIndex = 0; int nIconSize = 64;  // 원본 이미지 크기가 제각각이어서 사이즈 크기 정함 static CImageList cImgList; // 이미지 리스트 초기화 if (cImgList == NULL) {     cImgList.Create(nIconSize, nIconSize, ILC_COLOR16, 2, 2); } else {     m_lcImageList.DeleteAllItems();     while (cImgList.GetImageCount())         cImgList.Remove(0); } CBitmap bmp; CImage image; CImage copyImg; // 이미지를 늘려 저장할 변수 CImage img; copyImg.Create(nIconSize, nIconSize, 16);  //카피 이미지 설정 값  // 이미지 로드 bResult = image.Load(szPath); // 읽기 성공한 경우 if (bResult == S_OK) {        // 이미지를 특정 크기로 늘리거나 줄이기         BOOL bResult = image.StretchBlt(copyImg.GetDC(), 0, 0, nIconSize, nIconSize, SRCCOPY);         // 세이브할 이미지 이름         _stprintf(szPath, 생략 );         // 이미지 세이브 : 현재 바로 입력하면 이미지가 뜨지않아 저장 후 로드한 이미지로 사용중         copyImg.Save(szPath);         Sleep(100);        

[VPN] Amazon AWS로 VPN 서버 구축하기

이미지
중국 장기 출장이 잦아져 VPN이 필요해져 여기저기 기웃거리다가 express VPN과 Amazon AWS를 이용한 VPN, 집에서 뒹굴거리고 있는 라즈베리파이를 이용한 VPN 이 셋의 선택지로 좁힌 상태. 일단 expressVPN은 프로모션을 적용하면 15개월에 100 달러이긴 하지만 1년치를 한번에 결제해야 한다는 점이 걸렸고, 라즈베리파이를 이용하는 것은 한국에 가야 할 수 있으므로 현재 출장을 나와 있는 나에겐 선택지가 될 수 없었다. 결국 한달에 3.5달러의 AWS를 이용하기로 결정! 이용해 보고 마음에 안들면 서비스 더 이상 이용 안해도 되니 돈도 적게 들고 당장 사용할 수 있으니깐! 보아라 이 착한 가격을! 일단 Amazon Lightsail를 검색해서 가입하도록 하자 ( https://lightsail.aws.amazon.com ) 인스턴스 생성 키를 누르면 아래와 같이 서버 위치를 지정할 수 있다. 한국 서버를 선택할 수도 있지만 중국 사천에서 접속해보니 엄청 느리다는 소문이... 그리하여 일본 서버로 결정!! 1테라의 전송 데이터량이면 중계기 역할이니 500기가 로 계산한다고 해도 충분한 용량일듯 거기다가 한달은 무료!! 인스턴스 이름은 그냥 기본으로 된 것으로 사용하면 된다. 특이한 이름이 좋으시다면 수정 하시길....ㅋ 생성된 나의 따끈따끈한 신생아 서버..ㅋ Softether를 사용하기 위해 방화벽에서 443 포트를 열고 내 아이폰에서도 접속하기 위해 UDP 500과 4500도 열자!! SSH 클라이언트로 Putty를 사용하기 위해 https://www.putty.org/   접속해서 설치!! putty로 접속해서 서버를 설정하기 위해서 private key를 다운 받자! [제일 밑 부분에 계정 페이지를 클릭!] 다운 다운 자 이제 putty key gen

[Caffe] Windows 10, VS2015 Caffe 설치하기

관심만 가지고 있던 딮러닝 한번 해보겠다고 여기 저기 기웃 거렸지만 쉽지 않군  일단 https://www.slideshare.net/youngjoonkim14/caffe-tutorial-with-window10-vs2015 여기대로 따라하면 됨 ㅋㅋ Python Path 가 제대로 안되어 있던지 수동으로 넣어줘야했고 (참고로 Python은 기본으로 C:\Users\사용자\AppData\Local\Programs 안에 설치됨) 그리고 cuda 는 9.2버젼!! 대부분 저 링크에 나와있으니 크게 문제 될 것은 없으니 나중에 해도 안 까먹고 괜찮겠지 ? 참고로 현 놋북의 글픽이 GTX 1050이라 CuDaArchitecture 버젼은 61 !! 일단 오늘은 빌드하는데 까지만 ㅎㅎ

[MFC] CImage StretchBlt 검은 이미지만 나올때...

한참 동안 StretchBlt 를 이용해서 이미지를 늘려보려고 시도했으나 검은색 이미지만 나와 고생고생 했는데 허무하게 16비트 이미지로 하니 되다니..... copyImg.Create(nIconSize, nIconSize, 8); 에서 copyImg.Create(nIconSize, nIconSize, 16); 으로 사용하여 StretchBlt 함수를 사용하니 며칠동안 고생했던게 허무하게도 되더이다.. 기억해놨다가 까먹지 말고 써먹어 보자...

[Python] PyQt5 설치하기

Python 3.5 이상에선 PyQt 등을 포함하고 있다. 명령어로 설치가 가능한데 바보 같이 Python IDLE에다가 입력하고 안된다고 열받고 있었다. Python에 입력하는게 아니라 windows command(CMD) 에 입력을 해야한다. ㅠㅠ PyQt5 설치 : Python pyqt5 PyQt5 tool 설치 : pip install pyqt5-tools http://m.blog.naver.com/parkwon0204/220845639715 참조

[MFC] Tree ctrl 에 체크박스 부모 노드 체크 시 자식 노드 체크

TV_HITTESTINFO hit_info; // 화면상에서 마우스의 위치를 얻는다. ::GetCursorPos(&hit_info.pt); // 얻은 마우스 좌표를 트리컨트롤 기준의 좌표로 변경한다. ::ScreenToClient(m_TreeCtrl_BaseFile.m_hWnd, &hit_info.pt); // 현재 마우스 좌표가 위치한 항목 정보를 얻는다. HTREEITEM current_item = m_TreeCtrl_BaseFile.HitTest(&hit_info); if(current_item != NULL) { // 마우스가 위치한 항목을 찾았다면 해당 항목을 선택한다. m_TreeCtrl_BaseFile.Select(current_item, TVGN_CARET); } HTREEITEM hNode; CString strFileName =""; CString strTestName = ""; CString strCombe = ""; hNode = m_TreeCtrl_BaseFile.GetNextItem(NULL, TVGN_CARET); // 현재 선택된 아이템의 핸들을 가져온다. strFileName = m_TreeCtrl_BaseFile.GetItemText(hNode); // 그 아이템의 이름을 얻어온다. if(strFileName.Find('[') != -1 && (hit_info.flags & TVHT_ONITEMSTATEICON) != 0) { HTREEITEM hChildItem = m_TreeCtrl_BaseFile.GetChildItem(hNode); while (hChildItem != NULL) { if (m_TreeCtrl_BaseFile.GetCheck(hNode)) { m_TreeCtrl