C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[17902] Re:Re:Re:Re:Re: 시도하여 보았습니다.
유영인 [Chris] [cuperido] 1035 읽음    2002-04-24 16:15
angle.bmp 211.3KB 글자 기울이기 캡쳐
제가 생각하기로는, 글자가 안나왔던 문제는 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축의 경우에는 제시하여 주신 옵션으로 폰트를
: 생성하여 넘겨 주었을 경우 위와 같이 기울어진 글자가 출력 되었습니다.
:
: 제가 아직 모르는 무엇인가가 있는 것 같은데 도저히 해결방안을 찾을 수 없어
: 여러분들에게 문의를 드렸던 것이었습니다.
:
: 행복하세요.
:
:

+ -

관련 글 리스트
17854 [질문] 90도 회전된 글자 출력하기? 정종필 797 2002/04/23
29998     Re:[질문] 90도 회전된 글자 출력하기? 하느리 856 2002/04/23
17863     Re:[질문] 90도 회전된 글자 출력하기? 유영인 [Chris] 938 2002/04/23
17894         Re:Re: 시도하여 보았습니다. 정종필 777 2002/04/24
17896             Re:Re:Re: 시도하여 보았습니다. 유영인 [Chris] 774 2002/04/24
17899                 Re:Re:Re:Re: 시도하여 보았습니다. 정종필 1054 2002/04/24
17902                     Re:Re:Re:Re:Re: 시도하여 보았습니다. 유영인 [Chris] 1035 2002/04/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.