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.04.16 00:10
1
COMMENTS
/
0
LIKES
ActiveX Form을 사용한 WEB 프로그램...
신인재
•
1999.04.16 00:56
이정석 wrote: > 안녕하십니까? > ActvieX Form으로 웹에서 데이타베이스를 사용하는 프로그램을 > 만...
고부성
•
1999.04.16 00:05
1
COMMENTS
/
0
LIKES
메모 컴포넌트 말인데여...
이정욱
•
1999.04.16 01:04
음.. 두가지 가능성이 있습니다. 먼저 첫째, Path가 잘못되어있을 경우이죠. 실제로 C:sample.txt 에 저...
Faster
•
1999.04.15 22:15
1
COMMENTS
/
0
LIKES
[요청]쩝... QuickReport 관련...
김영대
•
1999.04.16 18:42
> Faster wrote: > 출력물(QuickReport)에 대해 자세히 알고 싶습니다. > > 델파이 책중에 QuickReport...
남윤혁
•
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.04.15 19:10
1
COMMENTS
/
0
LIKES
[소스구함] CUP, BIOS의 시리얼번호나 Product ID를..
김영대
•
1999.04.15 20:12
> 이영일 wrote: > CUP랑 BIOS의 시리얼번호나 Product ID를 알구 싶은데 어떨게 해야 하나요... > CPU의...
Ghost
1999.04.15 15:27
0
COMMENTS
/
0
LIKES
라우터의 IP를 공유하는 Host방식 전용선에서 Midas
이동화
•
1999.04.15 08:56
2
COMMENTS
/
0
LIKES
프린터에 대하여 부탁드림니다.
김영해
•
1999.04.15 09:20
이동화 wrote: > 안녕하세요! > 프린터에대해서 궁금한게 있습니다. 아니 지금 되지가 않습니다. > 프린...
이동화
•
1999.04.15 09:39
김영해 wrote: > 이동화 wrote: > > 안녕하세요! > > 프린터에대해서 궁금한게 있습니다. 아니 지금 되...
김영해
•
1999.04.15 08:49
2
COMMENTS
/
0
LIKES
화면보호기 같은 프로그램 ?
이정욱
•
1999.04.15 10:21
아래 작업전환을 막는것이 있습니다. 이 코드는 나이렉스의 팁 게시판에서 가져왔습니다. var Form1:...
김영해
•
1999.04.17 07:48
감사합니다.이정욱님 많은 도움이 되었습니다.
이순희
•
1999.04.15 08:34
2
COMMENTS
/
0
LIKES
시간계산에 대하여
bluepine
•
1999.04.17 01:18
이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
글쎄요.
•
1999.04.15 19:02
이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
이호선
•
1999.04.15 05:08
3
COMMENTS
/
0
LIKES
일반 control에 이미지를 로딩할려면...
전철호
•
1999.04.20 03:56
이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
안치봉
•
1999.04.15 06:12
이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
신인재
•
1999.04.15 06:22
안치봉 wrote: > 이호선 wrote: > > 안녕하세요.. > > 일반 control(예: Panel)에 이미지를 실을려하는...
아무개
1999.04.15 04:50
0
COMMENTS
/
0
LIKES
Re: 아래꺼 다시한번
이슬
•
1999.04.15 03:34
4
COMMENTS
/
0
LIKES
DBGrid에 어떻게 입력을 시켜야 할지?
김영해
•
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.04.15 01:51
1
COMMENTS
/
0
LIKES
Could not create output....
신인재
•
1999.04.15 02:44
김정수 wrote: > 음...mci관련 프로그램을 짜다가... 이런 메세지가 뜨더군요... > Could not create out...
Faster
•
1999.04.15 01:40
1
COMMENTS
/
0
LIKES
[소스구함]염치없는 부탁
아무개
•
1999.04.15 04:49
안녕하세요? 델파이 Q&A는 최소한 노력을 하는 사람들이 배워가는 곳입니다. 문제를 내고, 답을 맞추는 ...
이호선
•
1999.04.15 01:15
1
COMMENTS
/
0
LIKES
동적생성한 콘트롤들에 이벤트에관하여..
이정욱
•
1999.04.15 01:49
여러가지 방법이 있습니다. 각 콘트롤의 Tag를 사용하는 방법이 있구요.. 그냥 Name을 가지고 사용하는 ...
이슬
•
1999.04.14 23:40
1
COMMENTS
/
0
LIKES
enter키가 되지를 않습니다.
구창민
•
1999.04.14 23:58
이슬님 저 구창민입니다. 메일 보내드렸는데 또 질문 올리셨군요. 못 받으셨다면 이글 다시 보시기 바래...
우민석
1999.04.14 23:18
0
COMMENTS
/
0
LIKES
Exe 화일과 dll의 차이점을....
하재희
•
1999.04.14 21:03
2
COMMENTS
/
0
LIKES
BitBtn에 쓰이는 이미지를 어디서 받으면..
보라뚱땡이
•
1999.04.15 01:45
이 사이트 자료실 54번 항목에 500개의 버튼이미지가 있는데요..... 그거말구 BitBtn에 사이즈상 Icon을...
안치봉
•
1999.04.14 21:18
하재희 wrote: > 안녕하십니까! > 저는 현재 델파이로 프로젝트를 수행하고 있는 하재희라고 합니다. > ...
이진수
•
1999.04.14 19:46
1
COMMENTS
/
0
LIKES
[급합니다..] 도와주세요.....
안치봉
•
1999.04.14 21:01
이진수 wrote: > microsoft Active Movie 2.0을 install 시키고 임의의 구간을 입력 > 받아서 재생하려고...
이순희
•
1999.04.14 06:08
1
COMMENTS
/
0
LIKES
또 다른 질문..
신인재
•
1999.04.14 19:39
이순희 wrote: > 자꾸 질문해서 죄송합니다.. > 델파이를 많이 사용 안해봐서... 잘 모르는게 넘 많네요....
남윤혁
1999/04/15 22:13
Views
409
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;
요렇게 실행을 하죠...
결과는 인쇄하면 폰트가 무자게 커진다는 말씀... -.-;
이 문제를 어떻게 해결할까요?
폰트에 어떤 조작을 가해야 하지 않나요?
알려주세요...
프리즈~