Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 팁&트릭
Delphi Programming Tip&Tricks
[273] WEBBrowser 이미지로 저장하기
civilian [civilian] 6545 읽음    2010-01-26 13:07
uses 
  MSHTML_TLB, JPEG, ActiveX, ComObj; 
procedure generateJPEGfromBrowser(browser: iWebBrowser2; jpegFQFilename: string; 
  srcHeight: Integer; srcWidth: Integer; tarHeight: Integer; tarWidth: Integer); 
var 
  sourceDrawRect: TRect; 
  targetDrawRect: TRect; 
  sourceBitmap: TBitmap; 
  targetBitmap: TBitmap; 
  jpeg: TJPEGImage; 
  viewObject: IViewObject; 
begin 
  sourceBitmap := TBitmap.Create; 
  targetBitmap := TBitmap.Create; 
  jpeg := TJPEGImage.Create; 
  try 
    try 
      sourceDrawRect := Rect(0, 0, srcWidth, srcHeight); 
      sourceBitmap.Width  := srcWidth; 
      sourceBitmap.Height := srcHeight; 
      viewObject := browser as IViewObject; 
      if viewObject = nil then 
        Exit; 
      OleCheck(viewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Form1.Handle, 
        sourceBitmap.Canvas.Handle, @sourceDrawRect, nil, nil, 0)); 
      // Resize the src bitmap to the target bitmap 
      targetDrawRect := Rect(0, 0, tarWidth, tarHeight); 
      targetBitmap.Height := tarHeight; 
      targetBitmap.Width  := tarWidth; 
      targetBitmap.Canvas.StretchDraw(targetDrawRect, sourceBitmap); 
      // Create a JPEG from the Bitmap and save it 
      jpeg.Assign(targetBitmap); 
      jpeg.SaveToFile(jpegFQFilename); 
    finally 
      jpeg.Free; 
      sourceBitmap.Free; 
      targetBitmap.Free; 
    end; 
  except 
    // Error Code 
  end; 
end; 
procedure TForm1.btnButton1Click(Sender: TObject); 
var 
  IDoc1: IHTMLDocument2; 
  Web: ShDocVW_TLB.IWebBrowser2; 
  tmpX, tmpY: Integer; 
begin 
  with WebBrowser1 do 
  begin 
    Document.QueryInterface(IHTMLDocument2, iDoc1); 
    Web := ControlInterface; 
    tmpX := Height; 
    tmpY := Width; 
    TControl(WebBrowser1).Visible := Boolean(0); 
    // change the height and width temporary 
    Height := OleObject.Document.ParentWindow.Screen.Height; 
    Width := OleObject.Document.ParentWindow.Screen.Width; 
    generateJPEGfromBrowser(Web,'c:\test.jpg',Height, Width, Height, Width); 
    Height := tmpX; 
    Width := tmpY; 
    TControl(WebBrowser1).Visible := Boolean(1); 
  end; 
end;
델피™ [delphy79]   2010-03-02 11:16 X
좋은 자료가 많네요~

저 누군지 모르시면 낭패 ㄷㄷ
정우 [siminsik]   2010-03-23 14:44 X
좋은사료 감사합니다.

+ -

관련 글 리스트
273 WEBBrowser 이미지로 저장하기 civilian 6545 2010/01/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.