|
최원호 님이 쓰신 글 :
: 안녕하세요? 최원호 라고 합니다.
:
: Bitmap을 인쇄하는 부분을 코딩하고 있는데 좀 해결이 안되는 문제가 있어 질문을 드립니다.
:
: 인쇄는 되는데, 종이에 매우 작게 그림이 나오네요......
:
: 제가 인쇄한 그림은 800*1027 사이즈의 좀 큰 이미지인데 A4 용지에 레이져 프린터를 이용하여
: 출력하면 가로 약 3~4 Cm 정도밖에는 안됩니다.
:
: 사용한 방법은
:
: Printer()->Canvas->Draw(50,50, bitmap);
:
: 혹시 아시는 분 계시면 도움을 주시기 바랍니다.
저도 왕초보입니다......
제가 사용하고 있는 방법의 예시를 보여드리겠습니다.
임프님의 담변이 너무 간략해서 혹시 자세한 정보를 찾아보는데 어려우실까봐서.
TRect MarkPos; //stretchdraw함수를 사용하기위해서는 반드시 필요한 변수임.
MarkPos=Rect(left,top,right,bottom); //인쇄될 종이의 위치를 픽셀단위로 지정한다
//right-left의 크기는 당연시 그림의 폭크기가 되겠죠
Printer()->Canvas->StretchDraw(MarkPos,bitmap1);
//StretchDraw함수는 원하는 비트맵그림을 Rect에의해 입력된 크기로 그림을 인쇄합니다.
//주의사항 : 모든 것은 픽셀크기임으로 페이지의 출력크기를 위해서는
GetDeviceCaps()함수를 이용한 x,y pixels값을 알아내어 픽셀을 mm로 변환하여야 겠죠.
|