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
[10563] Re:이미지를 화면에 뿌릴려구여 ^^
개박살.U&I [inutero] 1363 읽음    2001-09-03 21:09

안녕하세요? 개박살입니다.

먼저, 빌더에 입문을 환영합니다 ^^

폼에다가 Bitmap 데이타를 뿌리실려는 작업같은데, 저도 허접이지만 잠깐 설명을 드리자면,

윈도우는 DC가 있죠? 그걸 빌더에서는 Canvas라는 이름의 클래스로 캡슐화 해놓았죠

Canvas->Handle이 곧 HDC이죠

TForm은 Canvas를 가지고 있는데 이것을 이용해서 그리면 됩니다.

Bipmap 화일을 Canvas에 그리는 예제를 보여드리면,

    Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap();
    Bitmap1->LoadFromFile("C:\\Borland\\Borland Shared\\Images\\Splash\\256color\\factory.bmp");
    Canvas->Brush->Bitmap = Bitmap1;
    Canvas->FillRect(Rect(0,0,100,100));
    delete Bitmap1;

이렇게 하는거죠

님께서는, 포인터로 이미지 데이타를 가지고 있는거 같은데 그부분은 저도 확실하지는 않는데, 일단

답변 드리자면, TStream을 이용해서 Canvas로 적용하는거 같습니다.


    unsigned char ImageBuf[1000];  <<- 이것이 만약 이미지데이타라면,,

    TMemoryStream *MyStream = new TMemoryStream();
    MyStream->WriteBuffer(ImageBuf, sizeof(ImageBuf));

    Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap();
    Bitmap1->LoadFromStream(MyStream);
    Canvas->Brush->Bitmap = Bitmap1;
    Canvas->FillRect(Rect(0,0,100,100));

    delete MyStream;

이런식으로 ^^; (이건 직접 해보지는... -- )

그럼 참고하세요~~

ps. 참고로, 빌더에서도 API를 그대로 사용해서 적용할수도 있답니다.

이재근 님이 쓰신 글 :
: 안녕하세요.. 완전 초보 2틀 됐습니다.
: MFC를 사용하다가 ㅡㅡ 높은 분의 명으로 인해 C++ Builder 를 사용하게 되었는뎅..
:
: 흐미.. 그림 그리기가 절 속터지게 하네여..
: 기꺼이 도움을 받을까 합니다.
:
: 폼에다가 256*256의 히스토 그램을 그리려고 합니다.
:
:     Size szImg;
:     szImg.cx = 256;
:     szImg.cy = 256;
:
:     bi = (BITMAPINFOHEADER*)MakeDIB(szImg);
:
:     SetStretchBltMode(dc.m_hDC,COLORONCOLOR);
:     StretchDIBits(dc.m_hDC,
:         0,128,256,256,
:         0,0,256,256,
:         HIST, (LPBITMAPINFO)bi, DIB_RGB_COLORS, SRCCOPY);
:
: 위에 예제는 MFC에서 사용한건데여..
: HIST 에 이미지 데이터가 저장되어 있고.. 위에서 영역을 DIB로 바꾸고..
: 그냥 Copy 해준거거든여 ㅡㅡ;
: 근데.. C Builder 에서 어찌 해야 하나여?
: Canvas를 이용하여 그리라고 하는뎅.. 도무지 개념이 안서네여..
:
: 도움을 받겠습니다..
: 그럼.. 좋은 하루 보내세요
:
:

+ -

관련 글 리스트
10559 이미지를 화면에 뿌릴려구여 ^^ 이재근 1060 2001/09/03
10564     Re:이미지를 화면에 뿌릴려구여 ^^ 조로 1215 2001/09/03
10563     Re:이미지를 화면에 뿌릴려구여 ^^ 개박살.U&I 1363 2001/09/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.