가끔 질문들이 올라옵니다.
도대체 어떻게 Label이나 글자를 각도에 맞게 찍을수 있는가 하는부분이죠.
음..의외로 간단합니다.
델파이에서 기본적으로 제공하는 LogFont를 사용하고 Canvas로 찍으면 됩니다.
사용법도 간단해서 아래처럼 각도를 주고 찍으면 됩니다.
중요한것은 각도의 값이 곱하기 10을 해줘야하는것이다.
각도에 음수를 넣으면 시계방향으로 양수를 넣으면 시계 반대 방향으로 작동한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
var tf: TFont; lf: TLogFont; begin tf := TFont.Create; try FillChar(lf, SizeOf(lf), 0); tf.Assign( self.Font ); GetObject(tf.Handle, SizeOf(Lf), @Lf); lf.lfEscapement := 900; // <-- 각도 * 10을 해줘야 한다. tf.Handle := CreateFontIndirect(Lf); paintBox1.Canvas.Font.Assign(tf); finally tf.Free; end; paintBox1.Canvas.TextOut(100,100,'이거모야 막돌아가네' ); |
최신 댓글