Q&A

  • 텍스트 인쇄?
으아... 미치겠습니다.



인쇄를 하기 위해서



매핑모드 바꾼거 까지는 좋았습니다.



텍스트를 인쇄하기 전까지는 말이죠... -.-;;



그런데... 텍스트가 지 마음대로 인쇄가 되는 것입니다.



이 난관을 어떻게 극복해야 할까요?



알려 주세용...



저는 델파이의 Printer객체를 사용해서 인쇄를 하려 합니다.



이 질문을 윈도우API로 분류해도 되는지 몰겠네요...



그럼...





- 글을 읽어 주셔서 감사합니다.

4  COMMENTS
  • Profile
    남윤혁 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;



    요렇게 실행을 하죠...



    결과는 인쇄하면 폰트가 무자게 커진다는 말씀... -.-;



    이 문제를 어떻게 해결할까요?



    폰트에 어떤 조작을 가해야 하지 않나요?



    알려주세요...



    프리즈~





  • Profile
    남윤혁 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



    무진장 중요한 문제랍니다.



    그럼.. 고수님들 부탁드립니다.





  • Profile
    이정욱 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

    >

    > 무진장 중요한 문제랍니다.

    >

    > 그럼.. 고수님들 부탁드립니다.

    >

    >





  • Profile
    안치봉 1999.04.15 23:28
    남윤혁 wrote:

    > 으아... 미치겠습니다.

    >

    > 인쇄를 하기 위해서

    >

    > 매핑모드 바꾼거 까지는 좋았습니다.

    >

    > 텍스트를 인쇄하기 전까지는 말이죠... -.-;;

    >

    > 그런데... 텍스트가 지 마음대로 인쇄가 되는 것입니다.

    >

    > 이 난관을 어떻게 극복해야 할까요?

    >

    > 알려 주세용...

    >

    > 저는 델파이의 Printer객체를 사용해서 인쇄를 하려 합니다.

    >

    > 이 질문을 윈도우API로 분류해도 되는지 몰겠네요...

    >

    > 그럼...

    >

    >

    > - 글을 읽어 주셔서 감사합니다.



    안녕하세요!.



    질문의 범위가 너무 광범위 합니다. 질문을 하실때는 되도록 이면



    이런 이런 코드가 있는데 이런 부분에서 문제가 생기더라 식으로 작성 해주시면



    감사하겠습니다.





    • 최선기
    • 1999.06.23 02:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 모승열
      1999.06.29 11:26
      최선기 께서 말씀하시기를... > 아래 질문을 했는데.. 혹시나 이해 못 하실까봐 다시 합니다. > 제 질문...
    • 남윤혁
    • 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: > 으아... 미치겠습니다. > > 인쇄를 하기 위해서 > > 매핑모드 바꾼거 까지는 좋았...
    • Faster
    • 1999.04.15 22:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.16 18:42
      > Faster wrote: > 출력물(QuickReport)에 대해 자세히 알고 싶습니다. > > 델파이 책중에 QuickReport...
    • 모승열
      1999.06.29 11:24
      신현숙 께서 말씀하시기를... > 안녕하세요.. > 질문이 있어서리~~ > ^^;; > > Mdi 폼에 mdi child ...
    • nuki
    • 1999.06.23 00:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.06.23 00:41
      OnDrawCell 이벤트에서 직접 코딩을 해 주시면 됩니다. 이경우 현재 그려질 셀의 Canvas를 얻을...
    • 남윤혁
    • 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: > 으아... 미치겠습니다. > > 인쇄를 하기 위해서 > > 매핑모드 바꾼거 까지는 좋았...
    • bds
    • 1999.06.22 23:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.06.23 00:36
      키필드에 값이 지정되지 않아서 나는 에러입니다. 해당 테이블의 프라이머리 키필드는 반드시 값이 지...
    • ppyp
    • 1999.06.22 23:13
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이영일
      1999.04.15 19:10
      CUP랑 BIOS의 시리얼번호나 Product ID를 알구 싶은데 어떨게 해야 하나요... CPU의 벤더는 구할수 있는데...
    • 김영대
      1999.04.15 20:12
      > 이영일 wrote: > CUP랑 BIOS의 시리얼번호나 Product ID를 알구 싶은데 어떨게 해야 하나요... > CPU의...
    • 김영대
      1999.04.15 20:12
      > 이영일 wrote: > CUP랑 BIOS의 시리얼번호나 Product ID를 알구 싶은데 어떨게 해야 하나요... > CPU의...
    • bds
    • 1999.06.22 21:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      1999.06.22 21:30
      bds 께서 말씀하시기를... > 무더운 여름에 고생많으십니다. > DBMemo로 입력하려고 합니다. > DBMemo...
    • 이순희
    • 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 08:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 손용석
      1999.06.22 19:58
      이제 델파이를 배우기 시작한 초보생인데 어디엔가 델파이 한글 도움말이 있다고 들었는데 아무리...
    • 이정욱
      1999.04.15 10:21
      아래 작업전환을 막는것이 있습니다. 이 코드는 나이렉스의 팁 게시판에서 가져왔습니다. var Form1:...
    • 김영해
      1999.04.17 07:48
      감사합니다.이정욱님 많은 도움이 되었습니다.
    • 이동화
    • 1999.04.15 08:56
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 배재민
      1999.06.22 19:36
      엑세스를 이용하여 프로그램을 만들었습니다. 그리고 Delphi 4.0 CD에 있는 인스톨 쉴드 2.02를 이용하...
    • 김영해
      1999.04.15 09:20
      이동화 wrote: > 안녕하세요! > 프린터에대해서 궁금한게 있습니다. 아니 지금 되지가 않습니다. > 프린...
    • 김경수
      1999.06.22 19:57
      안녕하세요. 저도 그런적이 있었거든요. 근데 실제 설치할 컴퓨터(저같은경우 win95)에 access가 설치되...
    • 이동화
      1999.04.15 09:39
      김영해 wrote: > 이동화 wrote: > > 안녕하세요! > > 프린터에대해서 궁금한게 있습니다. 아니 지금 되...
    • 진은정
      1999.06.22 19:54
      InstallSheild인지 BDE인지, 하여간 DAO랑 잘 어울리질 못하더군요, 저도 이것때문에 무척 고생을 했...
    • 1999.06.22 20:13
      강동연 께서 말씀하시기를... > 고수님들 부탁드립니다. > > 테이블 리스트의 내용을 파일에 저장할때 ...