Q&A

  • //질문//폼내의 패널을 이미지로.....
폼을 이미지로 저장하는 것은 배워서 알겠는데요....

폼 안의 패널부분만을 이미지로 저장하는 겉 어떻게 해야 하나요....

가르쳐 주셔여~~~~

제가 맛난거 사드립니다....

거리가 멀면... 시켜드립니다...

부탁~~~~~ =^^=

1  COMMENTS
  • Profile
    최석기 2000.03.17 01:33
    영~ wrote:

    > 폼을 이미지로 저장하는 것은 배워서 알겠는데요....

    > 폼 안의 패널부분만을 이미지로 저장하는 겉 어떻게 해야 하나요....

    > 가르쳐 주셔여~~~~

    > 제가 맛난거 사드립니다....

    > 거리가 멀면... 시켜드립니다...

    > 부탁~~~~~ =^^=



    그냥 폼 이미지 저장하는 부분을 패널로 하니까 되는거 같은데요..



    procedure TForm1.Button1Click(Sender: TObject);

    var

    PanelDC: HDc;

    PanelCanvas: TCanvas;

    BitmapRect: TRect;

    Bitmap: TBitmap;

    begin

    try

    Bitmap := TBitmap.Create; {BMP를 저장할 bitmap 생성}

    BitMap.Width := Panel1.Width;

    BitMap.Height := Panel1.Height;

    BitmapRect := Rect(0, 0, Panel1.Width, Panel1.Height); {Panel1 영역}



    {전체 window의 device context(DC) 을 얻는다}

    PanelDC := GetWindowDC(Panel1.Handle);

    PanelCanvas := TCanvas.Create;

    PanelCanvas.Handle := PanelDC; {Panel1의 canvas를 얻습니다}



    // BitmapRect영역의 DeskTopCanvas에서 BitmapRect영역의 Bitmap.Canvas로

    // 복사받습니다

    Bitmap.Canvas.CopyRect(BitmapRect, PanelCanvas, BitmapRect);



    if SaveDialog1.Execute then

    Bitmap.SaveToFile(SaveDialog1.FileName);

    finally

    ReleaseDC(Panel1.Handle, PanelDC);

    PanelCanvas.Free;

    Bitmap.Free;

    end;

    end;