Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
텍스트 인쇄?
으아... 미치겠습니다.
인쇄를 하기 위해서
매핑모드 바꾼거 까지는 좋았습니다.
텍스트를 인쇄하기 전까지는 말이죠... -.-;;
그런데... 텍스트가 지 마음대로 인쇄가 되는 것입니다.
이 난관을 어떻게 극복해야 할까요?
알려 주세용...
저는 델파이의 Printer객체를 사용해서 인쇄를 하려 합니다.
이 질문을 윈도우API로 분류해도 되는지 몰겠네요...
그럼...
- 글을 읽어 주셔서 감사합니다.
4
COMMENTS
남윤혁
•
1999.04.16 02:34
-.-;; 무슨말인지 잘모르겠네요...
다시 정리해서 올립니다.
아래의 함수는 그리기 전용함수입니다.
이곳에서 모든것을 그리죠...
procedure DrawContent( c: TCanvas );
begin
with c do
begin
Rectangle( 150, 50, 250, 400 );
MoveTo( 100, 100 );
LineTo( 300, 300 );
Font.Size:= 10;
TextOut( 200, 200, '테스트' );
Font.Size:= 20;
TextOut( 200, 400, '테스트' );
end;
end;
미리보기 버튼을 누르면 다음과 같이 화면에 나옵니다.
procedure TfrmPrinter04.btnDrawClick(Sender: TObject);
var
sWin, sView: TSize;
begin
SetMapMode( imgArea.Canvas.Handle, MM_ISOTROPIC );
SetWindowExtEx( imgArea.Canvas.Handle, 300, 300, @sWin );
SetViewportExtEx( imgArea.Canvas.Handle, 300, 300, @sWin );
DrawContent(imgArea.Canvas);
end;
여기서 imgArea는 TImage컴포넌트죠...
그리고 인쇄버튼을 누르면
procedure TfrmPreview.btnPrintingClick(Sender: TObject);
var
XPI, YPI: Integer;
sWin, sView: Size;
begin
if prtDlg.Execute then
begin
Printer.BeginDoc;
XPI:= GetDeviceCaps( Printer.Canvas.Handle, LOGPIXELSX );
YPI:= GetDeviceCaps( Printer.Canvas.Handle, LOGPIXELSY );
SetMapMode( Printer.Canvas.Handle, MM_ISOTROPIC );
SetWindowExtEx( Printer.Canvas.Handle, XPI, YPI, @sWin );
SetViewportExtEx( Printer.Canvas.Handle, XPI, YPI, @sWin );
DrawContent( Printer.Canvas );
Printer.EndDoc;
end;
end;
요렇게 실행을 하죠...
결과는 인쇄하면 폰트가 무자게 커진다는 말씀... -.-;
이 문제를 어떻게 해결할까요?
폰트에 어떤 조작을 가해야 하지 않나요?
알려주세요...
프리즈~
0
0
삭제
수정
댓글
남윤혁
•
1999.04.16 00:37
다시 질문입니다.
제가
XPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSX );
YPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSY );
SetMapMode( Canvas.Handle, MM_ISOTROPIC );
SetWindowExtEx( Canvas.Handle, 100, 100, @sWin );
SetViewportExtEx( Canvas.Handle, XPI, YPI, @sWin );
이 코드를 이용해서 인쇄를 했습니다.
문제는 화면에 뿌렸을 때는 폰트의 사이즈에 따라
화면의 비율에 따라 자연스럽게 나오지만
인쇄로 들어가면 비율에 맞지 않는 이미지가
나온다는 것이죠...
이 문제를 해결하려면 어떻게 해야 할까요?
T.T
무진장 중요한 문제랍니다.
그럼.. 고수님들 부탁드립니다.
0
0
삭제
수정
댓글
이정욱
•
1999.04.16 01:06
화면 출력 후
XPI := GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSX);
YPI := GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSY);
로 다시 계산 하신후 출력해 보세요.
남윤혁 wrote:
> 다시 질문입니다.
>
> 제가
>
> XPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSX );
> YPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSY );
> SetMapMode( Canvas.Handle, MM_ISOTROPIC );
> SetWindowExtEx( Canvas.Handle, 100, 100, @sWin );
> SetViewportExtEx( Canvas.Handle, XPI, YPI, @sWin );
>
> 이 코드를 이용해서 인쇄를 했습니다.
>
> 문제는 화면에 뿌렸을 때는 폰트의 사이즈에 따라
>
> 화면의 비율에 따라 자연스럽게 나오지만
>
> 인쇄로 들어가면 비율에 맞지 않는 이미지가
>
> 나온다는 것이죠...
>
> 이 문제를 해결하려면 어떻게 해야 할까요?
>
> T.T
>
> 무진장 중요한 문제랍니다.
>
> 그럼.. 고수님들 부탁드립니다.
>
>
0
0
삭제
수정
댓글
안치봉
•
1999.04.15 23:28
남윤혁 wrote:
> 으아... 미치겠습니다.
>
> 인쇄를 하기 위해서
>
> 매핑모드 바꾼거 까지는 좋았습니다.
>
> 텍스트를 인쇄하기 전까지는 말이죠... -.-;;
>
> 그런데... 텍스트가 지 마음대로 인쇄가 되는 것입니다.
>
> 이 난관을 어떻게 극복해야 할까요?
>
> 알려 주세용...
>
> 저는 델파이의 Printer객체를 사용해서 인쇄를 하려 합니다.
>
> 이 질문을 윈도우API로 분류해도 되는지 몰겠네요...
>
> 그럼...
>
>
> - 글을 읽어 주셔서 감사합니다.
안녕하세요!.
질문의 범위가 너무 광범위 합니다. 질문을 하실때는 되도록 이면
이런 이런 코드가 있는데 이런 부분에서 문제가 생기더라 식으로 작성 해주시면
감사하겠습니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
안창주
•
1999.06.23 20:15
1
COMMENTS
/
0
LIKES
Alias의 개념 및 용도를 알고 싶어요
신인재
•
1999.06.23 21:02
안창주 께서 말씀하시기를... > 저는 델파이 책을 처음보는 초보자입니다. > 1데이타베이스에서Alias라는...
이종진
•
1999.06.23 18:46
1
COMMENTS
/
0
LIKES
DBGrid에서 text값을 변경해주는 방법을 알고싶습니다
최석기
•
1999.06.23 20:25
이종진 께서 말씀하시기를... > DBGrid에서 text값을 다른값으로 바꿔주는 방법을 알고 싶습니다. > ...
VMNT
•
1999.06.23 15:12
5
COMMENTS
/
0
LIKES
UNION문을 사용하면서 UpdateSQL을....
이슬
•
1999.04.15 03:34
1. ParamByName과 FieldByName의 차이점이 무엇인지요? 2. 폼에 성별(남,여:radiobutton) 체크가 있는데...
김영해
•
1999.04.17 08:00
이슬 wrote: > 1. ParamByName과 FieldByName의 차이점이 무엇인지요? > > 2. 폼에 성별(남,여:radiobu...
신호성
•
1999.04.16 01:36
> 2. 폼에 성별(남,여:radiobutton) 체크가 있는데, DB는 Alpha로 2자리 만들었습니다. > 근데, DBGrid에...
박종모
•
1999.04.15 04:44
이슬 wrote: > 1. ParamByName과 FieldByName의 차이점이 무엇인지요? > > 2. 폼에 성별(남,여:radiobu...
글쎄요
•
1999.04.15 05:41
추가로 답변합니다. 2번째 건데 답변이 잘 못된 것 같아요. 가장 좋은 방법은 DBGRID 대신에 STRINGGRID...
이용민
•
1999.06.23 12:51
1
COMMENTS
/
0
LIKES
프로시저나 함수에서의 sender 의 의미 ?
하남수
•
1999.06.23 19:46
이용민 께서 말씀하시기를... > 안녕하십니까 ? (주) 천의무봉의 이용민입니다. > 작업하다 간간히 의문...
정남용
•
1999.04.16 01:29
3
COMMENTS
/
0
LIKES
인스톨쉴드로 BDE를 배포하는데
김정선
•
1999.04.23 00:51
저두 같은 문제로 올렸는데 고맙게도 web@ns.nilex.co.kr라는 분이 메일을 보내왔더라구요.. Autoexec.bat...
이정욱
•
1999.04.17 02:26
저도 역시 이런 문제 때문에 고생을 한적이 있었습니다. 전 엑세스 DB를 사용했을때 문제였죠. 그래서 결...
김정선
•
1999.04.16 22:56
저두 같은 문제가 있었어요.. 아시는 분 꼭좀 가르쳐 주세요 전 델파이4.0 오라클 8.0.5버젼을 가지고 ...
francis
1999.06.23 12:22
0
COMMENTS
/
0
LIKES
도스용 프로그램에서..
이용민
•
1999.06.23 09:27
2
COMMENTS
/
0
LIKES
감사합니다. 추가적인 중요한 질문입니다.
아무게
•
1999.06.23 19:58
이용민 께서 말씀하시기를... > 다음과 같은 의문을 정리해 보겠습니다. > > 1. 그렇다면 참조가 ...
이용민
•
1999.06.24 11:23
(주) 천의무봉의 이용민입니다. 선생의 말씀 고맙습니다. 그런데 깨끗한 정리는 안되는 군요. 자질을 말...
화랑
•
1999.04.16 01:29
4
COMMENTS
/
0
LIKES
[Q]프린터로 가는 데이타를 잡을수 있을까요?
이정욱
•
1999.04.16 02:17
아무래도 케이블을 그냥 두갈래로 뽑으신것 같군요. 그렇게 하면 아마도 제데로 안될것 같네요... 그것보...
화랑
•
1999.04.16 03:06
답변 감사합니다.. 문제는 제가 그 서버를 건드릴수가 없습니다. 지금 현재 나와있는 것은 프린터로 가...
이정욱
•
1999.04.16 05:08
프린터포트를 제어하는것은 문제가 없습니다. 그것을 지원하는 컴포넌트를 본적이 있는데.... 아마도 찾아...
화랑
•
1999.04.17 18:11
매번 감사합니다.. 저기 한가지만 더 하고 싶은데.. 프린트는 앱슨을 쓰거든요.. 혹시 서로 전달되는 ...
강민주
•
1999.06.23 09:18
1
COMMENTS
/
0
LIKES
qr에서 테이블 2개 출력하려면?
박흥태
•
1999.06.25 03:38
강민주 께서 말씀하시기를... > 안녕하세요.^^; > 외상장부처리를 위해 외상테이블과 수금 테이블로 > 2...
홍희석
1999.06.23 05:52
0
COMMENTS
/
0
LIKES
정말 감사합니다
남윤혁
•
1999.04.15 22:13
4
COMMENTS
/
0
LIKES
텍스트 인쇄?
으아... 미치겠습니다. 인쇄를 하기 위해서 매핑모드 바꾼거 까지는 좋았습니다. 텍스트를 인쇄하기 전까지는 말이죠... -.-;; 그런데... 텍스트가 지 마음대로 인쇄가 되는 것입니다. 이 난관을 어떻게 극복해야 할까요? 알려 주세용... ...
남윤혁
•
1999.04.16 02:34
-.-;; 무슨말인지 잘모르겠네요... 다시 정리해서 올립니다. 아래의 함수는 그리기 전용함수입니다. ...
남윤혁
•
1999.04.16 00:37
다시 질문입니다. 제가 XPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSX ); YPI:= GetDeviceCaps( ...
이정욱
•
1999.04.16 01:06
화면 출력 후 XPI := GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSX); YPI := GetDeviceCaps(Printe...
안치봉
•
1999.04.15 23:28
남윤혁 wrote: > 으아... 미치겠습니다. > > 인쇄를 하기 위해서 > > 매핑모드 바꾼거 까지는 좋았...
박성훈
•
1999.06.23 05:39
1
COMMENTS
/
0
LIKES
[긴급]데이터가 저장되지 않는 이유...
이용민
•
1999.06.23 12:56
질문에 대한 답은 아니지만 얼핏보이기에... 선생이 쓰시는 이코드는 다음과 같이 간단히 할 수 있거든...
고부성
•
1999.04.16 00:05
1
COMMENTS
/
0
LIKES
메모 컴포넌트 말인데여...
이정욱
•
1999.04.16 01:04
음.. 두가지 가능성이 있습니다. 먼저 첫째, Path가 잘못되어있을 경우이죠. 실제로 C:sample.txt 에 저...
이현옥
•
1999.06.23 05:26
1
COMMENTS
/
0
LIKES
EolesysError in module ....
김영해
•
1999.06.23 08:22
이현옥 께서 말씀하시기를... > 급하게 도사님들의 처방을 기다립니다. > > 프로그램을 실행시키면 > ...
이정석
•
1999.04.16 00:10
1
COMMENTS
/
0
LIKES
ActiveX Form을 사용한 WEB 프로그램...
신인재
•
1999.04.16 00:56
이정석 wrote: > 안녕하십니까? > ActvieX Form으로 웹에서 데이타베이스를 사용하는 프로그램을 > 만...
변상준
•
1999.06.23 04:02
1
COMMENTS
/
0
LIKES
델파이4pro 와 오라클 연결 어떻게 하나요
류성호
•
1999.06.23 05:13
변상준 께서 말씀하시기를... > 델파이4 프로페셔널 버전에서 오라클 7.3.2 연결을 하는데 준비 사항 및 ...
남윤혁
•
1999.04.15 22:13
7
COMMENTS
/
0
LIKES
텍스트 인쇄?
황하강
•
1999.06.23 04:00
[질문]기본 프린터의 온라인 상태 체크... 델파이 2.0 에서 기본 프린터가 켜져있는지, 온라인 상태인지...
남윤혁
•
1999.04.16 02:34
-.-;; 무슨말인지 잘모르겠네요... 다시 정리해서 올립니다. 아래의 함수는 그리기 전용함수입니다. ...
최석기
•
1999.06.23 17:28
황하강 께서 말씀하시기를... > [질문]기본 프린터의 온라인 상태 체크... > 델파이 2.0 에서 기본 프...
남윤혁
•
1999.04.16 00:37
다시 질문입니다. 제가 XPI:= GetDeviceCaps( Canvas.Handle, LOGPIXELSX ); YPI:= GetDeviceCaps( ...
황하강
•
1999.06.24 00:44
최석기 께서 말씀하시기를... > 황하강 께서 말씀하시기를... > > [질문]기본 프린터의 온라인 상태 체크...
이정욱
•
1999.04.16 01:06
화면 출력 후 XPI := GetDeviceCaps(Printer.Canvas.Handle,LOGPIXELSX); YPI := GetDeviceCaps(Printe...
안치봉
•
1999.04.15 23:28
남윤혁 wrote: > 으아... 미치겠습니다. > > 인쇄를 하기 위해서 > > 매핑모드 바꾼거 까지는 좋았...
임선주
1999.06.23 03:11
0
COMMENTS
/
0
LIKES
OLE자동화서버 구현시 TTable 또는 TQuery를 넘길려면
김민오
•
1999.06.23 02:49
2
COMMENTS
/
0
LIKES
파라독스사용시 에러
이정석
•
1999.04.16 00:10
안녕하십니까? ActvieX Form으로 웹에서 데이타베이스를 사용하는 프로그램을 만들려고 합니다. 아시겠...
신인재
•
1999.04.16 00:56
이정석 wrote: > 안녕하십니까? > ActvieX Form으로 웹에서 데이타베이스를 사용하는 프로그램을 > 만...
고부성
•
1999.04.16 00:05
2
COMMENTS
/
0
LIKES
메모 컴포넌트 말인데여...
김민오
•
1999.06.23 02:45
네트웍으로 연결된 파라독스가 엑세스 바이올레이션과 파라이 일치하지 않느다고 에러가 나옵니다. sql문...
이정욱
•
1999.04.16 01:04
음.. 두가지 가능성이 있습니다. 먼저 첫째, Path가 잘못되어있을 경우이죠. 실제로 C:sample.txt 에 저...
남윤혁
1999/04/15 22:13
Views
232
Likes
0
Comments
4
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
다시 정리해서 올립니다.
아래의 함수는 그리기 전용함수입니다.
이곳에서 모든것을 그리죠...
procedure DrawContent( c: TCanvas );
begin
with c do
begin
Rectangle( 150, 50, 250, 400 );
MoveTo( 100, 100 );
LineTo( 300, 300 );
Font.Size:= 10;
TextOut( 200, 200, '테스트' );
Font.Size:= 20;
TextOut( 200, 400, '테스트' );
end;
end;
미리보기 버튼을 누르면 다음과 같이 화면에 나옵니다.
procedure TfrmPrinter04.btnDrawClick(Sender: TObject);
var
sWin, sView: TSize;
begin
SetMapMode( imgArea.Canvas.Handle, MM_ISOTROPIC );
SetWindowExtEx( imgArea.Canvas.Handle, 300, 300, @sWin );
SetViewportExtEx( imgArea.Canvas.Handle, 300, 300, @sWin );
DrawContent(imgArea.Canvas);
end;
여기서 imgArea는 TImage컴포넌트죠...
그리고 인쇄버튼을 누르면
procedure TfrmPreview.btnPrintingClick(Sender: TObject);
var
XPI, YPI: Integer;
sWin, sView: Size;
begin
if prtDlg.Execute then
begin
Printer.BeginDoc;
XPI:= GetDeviceCaps( Printer.Canvas.Handle, LOGPIXELSX );
YPI:= GetDeviceCaps( Printer.Canvas.Handle, LOGPIXELSY );
SetMapMode( Printer.Canvas.Handle, MM_ISOTROPIC );
SetWindowExtEx( Printer.Canvas.Handle, XPI, YPI, @sWin );
SetViewportExtEx( Printer.Canvas.Handle, XPI, YPI, @sWin );
DrawContent( Printer.Canvas );
Printer.EndDoc;
end;
end;
요렇게 실행을 하죠...
결과는 인쇄하면 폰트가 무자게 커진다는 말씀... -.-;
이 문제를 어떻게 해결할까요?
폰트에 어떤 조작을 가해야 하지 않나요?
알려주세요...
프리즈~