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

C++빌더 Q&A
C++Builder Programming Q&A
[4600] 크하하하 넘무나 감솨합니다. 고마워요~~ *^^* (내용무)
해당화 [] 3110 읽음    2000-12-14 00:00
zoro 님이 쓰신 글 :
: 안녕하세요
: 컴파일 에러는 없어요...
:
: 써보시고 잘안되면 연락주셔요..
:
: 즐거운 하루 되십시요..
:
: #include <Graphics.hpp>
: #include <printers.hpp>
:
: void PrintBmp(TRect ARect, Graphics::TBitmap *ABitmap)
: {
:   LPBITMAPINFO Info;
:   DWORD InfoSize;
:   LPVOID Image;
:   DWORD ImageSize;
:   HBITMAP Bits;
:   DWORD DIBWidth, DIBHeight;
:
:   Bits = ABitmap->Handle;
:   GetDIBSizes(Bits, InfoSize, ImageSize);
:   Info = (LPBITMAPINFO)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,     InfoSize);
:   try
:   {
:     Image = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, ImageSize);
:     try
:     {
:       GetDIB( Bits, ABitmap->Palette, Info, Image);
:       DIBWidth = Info->bmiHeader.biWidth;
:       DIBHeight = Info->bmiHeader.biHeight;
:       StretchDIBits(Printer()->Canvas->Handle,
:                    ARect.Left, ARect.Top, ARect.Right, ARect.Bottom,
:                         0, 0, DIBWidth, DIBHeight,
:                         Image, Info, DIB_RGB_COLORS, SRCCOPY );
:     }
:     __finally
:     {
:       HeapFree(GetProcessHeap(), 0, Image);
:     }
:   }
:   __finally
:   {
:     HeapFree(GetProcessHeap(), 0, Info);
:   }
: }
:
:
:
: 해당화 님이 쓰신 글 :
: : 제가 이거 못하면 회사 짤립니다. 바로 짤려요~
: : 델파이 실력이 워낙 짧아서 못바꾸는 부분이 넘 많습니다.
: : 알려 주셨으면 합니다. 감솨합니다.
: :
: : procedure PrintBmp( ARect: TRect; ABitmap: TBitmap );
: : var
: :  Info: PBitmapInfo;
: :  InfoSize: DWORD;
: :  Image: Pointer;
: :  ImageSize: DWORD;
: :  Bits: HBITMAP;
: :  DIBWidth, DIBHeight: Longint;
: : begin
: :  with Printer, Canvas do
: :   begin
: :     Bits := ABitmap.Handle;
: :     GetDIBSizes( Bits, InfoSize, ImageSize );
: :     Info := AllocMem( InfoSize );
: :     try
: :       Image := AllocMem( ImageSize );
: :       try
: :         GetDIB( Bits, ABitmap.Palette, Info^, Image^ );
: :         with Info^.bmiHeader do
: :          begin
: :            DIBWidth := biWidth;
: :            DIBHeight := biHeight;
: :         end;
: :         StretchDIBits( Printer.Canvas.Handle,
: :                      ARect.Left, ARect.Top, ARect.Right, ARect.Bottom,
: :                           0, 0, DIBWidth, DIBHeight,
: :                           Image, Info^, DIB_RGB_COLORS, SRCCOPY );
: :       finally
: :         FreeMem( Image, ImageSize );
: :       end;
: :     finally
: :       FreeMem( Info, InfoSize );
: :     end;
: :   end;
: : end;
: :
: : u

+ -

관련 글 리스트
4593 임프님 이것좀 도와주세요~~델파이--->C++Builder 해당화 3098 2000/12/13
4594     Re:임프님 이것좀 도와주세요~~델파이--->C++Builder zoro 3501 2000/12/13
4600         크하하하 넘무나 감솨합니다. 고마워요~~ *^^* (내용무) 해당화 3110 2000/12/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.