보통, MFC 에서 GDI Plus 로 화면 저장 관련 소스를 찾으면, 이런 게 나온다.
http://pheadra.tistory.com/entry/MFC-DC%EB%A1%9C-%EA%B7%B8%EB%A6%BC-%EA%B7%B8%EB%A6%AC%EA%B3%A0-GDIplus%EB%A1%9C-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0
https://msdn.microsoft.com/en-us/library/ms535407(VS.85).aspx
근데, 나는 화면정보를 JPG 로 저장하면서, 압축률을 높일 필요가 있었다.
그래서 무슨 짓을 했느냐...
OpenSource 인 linux 의 library 를 소스 통채로 가져와서 windows 에서 재컴파일해서 사용하려고 했지.
( 관심있는 사람들은
참고 )
[ 생각만큼 잘 안 되더라. 씨바 ]
이것저것 여러가지 라이브러리 가지고 해봤는데 매끄럽게 안되서 어쩔까...생각하다가,
일단 접고 집에 가려고 컴퓨터 끄려다가, 우연히 한 번 찾아본 게 좀 의외의 자료라 해 봤더니 되더라.
http://www.codeproject.com/Articles/4769/In-Memory-Image-Compression
자세한 건 위의 글을 참고해라.
핵심은, GDIPlus 를 사용할 때 사용하는 Image 객체에 jpeg compress rate 를 지정할 수 있는 옵션이 이미 존재한다.
// Setup encoder parameters EncoderParameters encoderParameters; encoderParameters.Count = 1; encoderParameters.Parameter[0].Guid = EncoderQuality; encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong; encoderParameters.Parameter[0].NumberOfValues = 1; // setup compression level ULONG quality = 50; encoderParameters.Parameter[0].Value = &quality;
[ 결국, 뻘짓한 꼴. ]
역시 무식하면 몸이 고생.
'프로그램' 카테고리의 다른 글
C# 의 Socket 객체에는 close() 말고도 disconnect(), shutdown() 이 있다. (0) | 2015.07.22 |
---|---|
MFC 에서 CreateProcess() 가 Access Violation 을 일으킬때 (0) | 2015.07.15 |
포인터가 궁금할 땐, 글로 읽자. (0) | 2015.06.27 |
Visual Studio 에서 “LoaderLock was detected” 어쩌구 저쩌구 에러 (0) | 2015.06.25 |
MicroSoft Visual Studio - 라이센스 문제없는 버전. (0) | 2015.06.23 |