MapTool-callstack.zip

---------------------------------------------------------------------------------
★ 꼭 알아야할사항

- 일반적으로 API를 사용하시던 분들은 이개념만 이해해도 금방 쓰실수있을듯 ^^

DC TImage.Canvas.Handle

Bitmap = TBitmap
TBitmap TImage.Picture.Graphic

---------------------------------------------------------------------------------

 

자세한 내용은 소스코드를 참고하십시오.

(소스코드는 간단하게 예제삼아 만든 맵툴(MapTool)입니다. Bitmap을 하나 열어서 사각형 타일로 잘라 또하나의 Bitmap 파일을 생성하는 프로그램입니다. 허접하지만 참고만 하세용.)

 

다음은 그림판을 만들기 위해 필요한 가장많이 쓰는 TImage의 속성과 함수들은 정리한것이다.

 

[TImage의 주요속성과 함수들]

 

1. 이미지컴포넌트가 그림의 크기에 맞춤
TImage.Picture.Autosize := Boolean

 

2. 그림을 이미지 컴포넌트 크기에 맞춤

TImage.Picture.Stretch := Boolean

 

3. 클립핑영역 처리로 이영역밖에 그려지는 영역은 출력되어지지 않으며 화면에도 표시되지 않는다.

TImage.Canvas.ClipRect := TRect 

4. 해당좌표에 점을찍는다.
TImage.Canvas.Pixels(x,y) 

 

5. 펜의 현재위치를 나타냄
TImage.Canvas.PenPos

 

6. 캔퍼스에서 다른켄퍼스로 이미지가 복사될때 복사되는 방법을 정의

TImage.Canvas.CopyMode

 

7. TImage에 TBitmap 출력하기

TImage.Picture.Graphic := TBitmap

 

8. TImage.Canvas에 펜모드 설정

TImage.Canvas.Pen.Mode := TPenMode
TImage.Canvas.Pen.Width := 굵기
(펜종류는 도움말 참조)

 

9. TImage.Canvas.Canvas의 도형 메소드들

1) 원호 : TImage.Canvas.Arc
2) 원호의 시작과 끝점을 연결 : TImage.Canvas.Chord
3) 파이 : TImage.Canvas.Pie
4) 원 : TImage.Canvas.Ellipse(X1,Y1,X2,Y2 : Integer);
5) 사각형 : TImage.Canvas.Rectangle(X1,Y1,X2,Y2 : Integer);
6) 타원사각형 : TImage.Canvas.RoundRect(X1,Y1,X2,Y2,X3,Y3 : Integer); // X3,Y3가 둥근정도를 의미
7) 선 : TImage.Canvas.LineTo(X,Y : Integer);
8) 점의위치이동 : TImage.Canvas.MoveTo(X,Y : Integer);
9) 테두리선만있는 사각형 : FrameRect(Const Rect : TRect);
10) XOR연산을 이용하여 포커스를 가진듯한 사각형을 그림 : DrawRect(Const Rect : TRect);

 

10. TImage.Canvas에 브러쉬 설정

TImage.Canvas.Brush := TBrush : 브러쉬 설정
TImage.Canvas.Brush.Color := TBrush.Color : 브러쉬 색설정

 

11. 채색 하기

TImage.Canvas.FloodFill(X, Y, TColor, TFillStyle)
(TColor, TFillStyle의 종류는 도움말 참조)

 

12. TImage.Canvas에 Bitmap 파일 열기

TImage.Picture.LoadFromFile(파일명)

 

13. TImage.Canvas에 Bitmap 파일 저장

TImage.Picture.SaveToFile(파일명)

 

14. 다른 켄버스의 사각영역을 복사한다.

Source는 원본 이미지 Dest는 복사한 이미지가 출력될영역이다.
CopyRect(var Dest: TRect, Canvas: TCanvas, var Source: TRect);

 

15. 그래픽을 출력한다.[BMP,ICO.EMF.WMF]

TImage.Canvas.Draw(X, Y, TGraphic);

 

16. 원하는 좌표에 문자열 출력

TImage.Canvas.TextOut(X, Y, String);

 

17. 사각영역을 정해서 꽉차게 출력

StretchDraw(Const Rect; Graphic : TGraphic); // 확대축소가능

18. TImage 내용 삭제

Image1.Picture.Assign(nil)


+ Recent posts