상세 컨텐츠

본문 제목

캡쳐한 이미지를 파일이름으로 변환

개발이야기/잡담

by mycatdid0 2022. 8. 17. 14:53

본문

반응형

(포스팅 2022.08.17)

 

 

화면의 특정 부분을 캡처하고 인터넷에 올리고 싶을 때가 있습니다.

 

캡쳐는 [윈도우+Shift+S]로 시작하고, 저장버튼을 클릭하고, 탑색기에서 파일명을 복사하여 붙여넣기를 하면 됩니다만, 이러한 복잡한 과정 없이 쉽게 하는 방법이 있지 않을까요? 

 

화면을 캡쳐하여 바로 파일이름으로 변환

 

위 동영상에서 사용한 기능은, 오토핫키와 C#의 조합으로 만들었습니다. 클립보드의 이미지를 저장하고 파일 이름으로 만드는 동작은 C#에서 이루어집니다.

 

소스코드는 다음과 같습니다.

                if (Clipboard.ContainsImage()) // 이미지이면 자동으로 저장하고 저장한 파일명을 보여준다.
                {
                    IDataObject data = Clipboard.GetDataObject();

                    // 클립보드의 데이타를 이미지 형식으로 로드 한다.
                    Image img = (Image)data.GetData(DataFormats.Bitmap, true);
                    if (img != null)
                    {
                        string filename;  // 저장할 이미지 파일명
                        filename = Autohotkey_API.getTempFilename("jpg");
                        SaveImgToJPG(img, filename, 95L);

                        img.Dispose();
                        strNew = filename;
                        
                        // 저장된 이미지의 파일명을 클립보드에 저장하고,
                        // 오토핫키에게 Ctrl+V 를 입력하도록 요청합니다.
                        if (Clipboard_SetText(strNew))
                        {
                            testForm00.toAHK_CMD_string("Send", "^v");
                            testForm00.toAHK_CMD_START();
                        }
                    }
                }

 

동작 순서를 간단하게 설명드리면,

  • 오토핫키에서 단축키를 받고 C# 프로그램에 요청
  • C# 프로그램에서 사용자의 요청을 받고 클립보드 변환 호출
  • 클립보드에 이미지가 저장되어 있는지 확인
  • 이미지를 파일로 저장하고, 저장한 파일명을 클립보드로 저장하고
  • 오토핫키에 Ctrl+V 를 입력하도록 요청

 

 

포스팅은 여기까지입니다.

 

필요하신 부분 있으시면, 댓글로 문의주세요.

 

 

언제나 감사드립니다.

 

반응형

관련글 더보기

댓글 영역