티스토리 뷰
반응형
API로 프로그램을 만들다보면 글자 찍을 일이 많습니다.
그런데 내 컴퓨터에 설치되어있는 폰트가 다른사용자의 컴퓨터에는 설치가 되어 있지 않아서 만들때는 멋잇엇는데,
실제로 다른 컴퓨터에서 실행해보면 누추한 경우가 있습니다.
이럴때 GDI와 GDI+ 에서의 폰트파일을 경로를 지정하여 로드하는 함수가 있습니다.
GDI
AddFontResource("파일명");
RemoveFontResource("파일명");
AddFontResource("파일명"); 가 호출되면 호출된 시점부터 RemoveFontResource("파일명");가 호출되거나, 컴퓨터가 제부팅 되기 전까지는 해당 파일명을 가지는 폰트를 사용할 수 있습니다.
GDI+
이것때문에 고생을 했는데, GDI+에서 폰트를 만들고 글자를 찍으면 AddFontResource("파일명"); 를 호출해도 글자가 찍히지를 않습니다.
GDI+는 다른 클래스를 이용하여야 하는데 이것이 PrivateFontCollection 클래스 입니다.
메소드로는 GetFamilies, AddFont 등이 있는데요.
PrivateFontCollection .AddFont("파일명"); 을 한후에
GetFamilies 메소드를 사용하여 폰트를 로드하고 사용하시면 글자가 잘 찍힙니다.
중요한점은 Add한 폰트는 PrivateFontCollection 클래스에 종속적이기 때문에 PrivateFontCollection 클래스가 메모리에서 해제되거나 하게되면 사용할 수 없게됩니다.
반응형
'Programing > API' 카테고리의 다른 글
keybd_event 함수를 이용하여 한글문자열을 타이핑하는 방법. (4) | 2011.08.20 |
---|---|
오목 (1) | 2011.04.23 |
아이온 종족간 번역기 (0) | 2009.08.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 구글
- 백신
- WL-54G
- Operation System
- Programming - C
- 인코더
- ffmpeg
- 유마일
- API 프로그래밍
- 데몬
- KAI
- 하이퍼큐브
- 소니
- 가상드라이브
- 프로그래밍
- GAME
- TCP/IP
- 녹화
- PSP
- WPF
- Programming - C / C++
- 스터디_발표자료
- Programing
- V3
- c#
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함