|
제가 생각하기로는, 글자가 안나왔던 문제는 X, Y축의 시작 기준이 틀리기 때문에, 보통 가로로 쓸때와는 달리 Left, Top을 지정을 따로 안해주었기 때문이 아닌가 싶습니다.
아래는 제가 다시 테스트해본 소스와 화면을 캡쳐한 파일을 올려놓았습니다. 폼에 Image 하나를 놓으신다음에 아래 코드를 사용하시면됩니다. 도움이 되셨으면 하네요.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WriteText(TImage *CANVAS, String stText, int itX, int itY, int itAngle)
{
TLogFont tlFont;
GetObject(CANVAS->Canvas->Font->Handle, sizeof(TLogFont), &tlFont);
tlFont.lfEscapement = itAngle * 10;
tlFont.lfOutPrecision = OUT_TT_ONLY_PRECIS;
CANVAS->Canvas->Font->Handle = CreateFontIndirect(&tlFont);
CANVAS->Canvas->TextOut(itX, itY, stText);
DeleteObject(CANVAS->Canvas->Font->Handle);
CANVAS->Canvas->Font->Handle = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
WriteText(Image1, "안녕하세요", 10, 70, 90);
}
//---------------------------------------------------------------------------
정종필 님이 쓰신 글 :
: 예 제가 직접 코드 구현을 하였을 때
: 글자 자체가 각도만큼 회전 되는 것이 아니라
: 이텔릭체 처럼 글자가 기울기만 하였습니다.
:
: 그래서 각도를 90도로 하였을 경우에는 글자가 화면의
: x축에 대하여 완전 밀착되어져 글자가 화면에 나타나지 않았습니다.
:
: 예)
: 처리전 글자 'A'
:
: *
: * *
: *****
: * *
:
: 특정 각도 만큼 주어진 글자 'A'
:
: *
: * *
: *****
: * *
:
: 제가 원하는 결과(90도 만큼 글자 자체가 회전된 것)
:
: *
: *
: * *
: *
: *
:
:
: 이해가 되셨는지 모르겠습니다.
:
: 하지만 저의 문제에 대하여 이렇게 관심을 보여 주시며
: 방안을 제시해 주셔서 매우 감사드립니다.
:
: 아참, 저는 현재 TeeChart처럼 OpenGL 함수를 이용하여 2차원 차트를
: 만들었는데, 여기에 x, y축에 축 타이틀을 추가하려 하였습니다.
: x축은 일반 옵션으로 폰트를 생성한 다음 OpenGL 렌더링 디바이스 콘텍스트에
: 넘겨주면 잘 출력되어 나오는데, y축의 경우에는 제시하여 주신 옵션으로 폰트를
: 생성하여 넘겨 주었을 경우 위와 같이 기울어진 글자가 출력 되었습니다.
:
: 제가 아직 모르는 무엇인가가 있는 것 같은데 도저히 해결방안을 찾을 수 없어
: 여러분들에게 문의를 드렸던 것이었습니다.
:
: 행복하세요.
:
:
|