Q&A

  • bitmap파일 print하려면 어떻게 해야 하나요?
우와.. 아래에 답변을 올렸었는데, 바로 답글이 올라왔네요..

너무 감사합니다..



다른 질문 하나 할께요..



비트맵 파일을 TPrint->Canvas 에 그리려고 합니다.

draw를 사용했더니, 크기가 작게 출력이 되네요..

화면에 나오는 크기 만큼 크게 출력하려면 어떻게 해야 하네요..

1  COMMENTS
  • Profile
    문창완 1999.08.14 04:05
    sirius 께서 말씀하시기를...

    > 우와.. 아래에 답변을 올렸었는데, 바로 답글이 올라왔네요..

    > 너무 감사합니다..

    >

    > 다른 질문 하나 할께요..

    >

    > 비트맵 파일을 TPrint->Canvas 에 그리려고 합니다.

    > draw를 사용했더니, 크기가 작게 출력이 되네요..

    > 화면에 나오는 크기 만큼 크게 출력하려면 어떻게 해야 하네요..



    여러가지 방법이 있겠지만...특정 프린터에 적용안돼는 때도 있더라구요...

    그러나 이방법은 괜찮을 꺼예요...

    누군가 올려논 방법인데...이걸 써보니 잘돼더라구요..



    procedure PrintBitmap(Rects:TRect; Bitmap: TBitmap);

    var

    Info : PBitmapInfo;

    InfoSize : Integer;

    Image : Pointer;

    ImageSize: LongInt;

    ImageMem : THandle;

    begin

    with Bitmap do

    begin

    GetDIBSizes(Handle, InfoSize, ImageSize);

    Info:= MemAlloc(InfoSize);

    try

    ImageMem := GlobalAlloc(GHND, ImageSize);

    Image := GlobalLock(ImageMem);

    try

    GetDIB(Handle, Palette, Info^, Image^);

    with Info^.bmiHeader do

    StretchDIBits(Printer.Canvas.Handle, Rects.Left, Rects.Top, Rects.Rig

    ht , Rects.Bottom,

    0, 0, biWidth,biHeight,Image, Info^,DIB_RGB_COLORS, SRC

    COPY);

    finally

    GlobalUnLock(ImageMem);

    GlobalFree(ImageMem);

    end;

    finally

    FreeMem(Info, InfoSize);

    end;

    end;

    end;



    그럼 즐통 돼세요...

    사용법은 간단하니깐 설명 안할께요...그럼...