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
[53702] Re:BMP 이미지 출력시..
장성호 [nasilso] 1361 읽음    2008-06-18 11:08
TImage에서 그런기능이 없으니  직접 구현해줘야 합니다.

[원리]
1. 처음에 파일에서 load할때 TImage가 아닌 따로  메모리(Graphics::TBitmap )에 load하세요
2. MouseDown , MouseMove 이벤트를 이용해서 Mouse가 Click된 상태로 움직인 거리를 계산해서
3. MouseMove이벤트에서 이미지를  bitmap에서 Image->Canvas에 일정영역만 Copy해주면 됩니다.

그럼..

새로운 희망.. 님이 쓰신 글 :
: 제가 BMP이미지 출력을 해서 일정 영역을 처리하는 것을 구현할려고 하는데요..
: 아래와 같이 했습니다.
: .
: 일단 Image1에 BMP가 출력시는 것은 되는데 Image1의 크기가 345*273픽셀입니다.
: 그런데 만약 이보다 큰 BMP를 열면 왼쪽 윗 부분만 345*273만큼만 보이는데...
: 여기서 Image1에 출력된 그림을 마우스를 사용해서 움직여서 원하는 부분으로 이동하고 싶은데요..
: 방법이 없을까요?
: .
: void __fastcall TForm1::BitBtn1Click(TObject *Sender)
: {
:         char string[100];
:         int i;
:
:         OpenPictureDialog1->Title="Open BMP File";
:         if(!OpenPictureDialog1->Execute())
:         {
:                 Memo1->Lines->Append("Please select the BMP file again!!");
:                 return;
:         }
:         Image1->Picture->
:         OpenedFileName->Text=OpenPictureDialog1->FileName;
:         Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
:         Memo1->Lines->Append("BMP File Open success!!");
:         Memo2->Lines->Append("BMP File");
:         if(Image1->Picture->Bitmap->PixelFormat!=pf24bit)
:         {
:                 Memo1->Lines->Append("Only 24bit Color BMP image support!!");
:                 Memo1->Lines->Append("Please select the BMP file again!!");
:                 okimage=false;
:                 BitBtn2->Enabled=false;
:                 BitBtn4->Enabled=false;
:                 return;
:         }
:         sprintf(string,"BMP Image Size : Height=%d, Width=%d",Image1->Picture->Bitmap->Width,Image1->Picture->Bitmap->Height);
:         Memo2->Lines->Append(string);
:         selected=false;
:         okimage=true;
: }

+ -

관련 글 리스트
53701 BMP 이미지 출력시.. 새로운 희망.. 1358 2008/06/18
53706     답변 감사드려요....그럼 한가지 더 질문요..^^ 새로운 희망... 1138 2008/06/18
53707         Re:답변 감사드려요....그럼 한가지 더 질문요..^^ 장성호 1262 2008/06/18
53708             Re:Re:답변 감사드려요....그럼 한가지 더 질문요..^^ 새로운 희망.. 1195 2008/06/18
53702     Re:BMP 이미지 출력시.. 장성호 1361 2008/06/18
53704         Re:Re:BMP 이미지 출력시.. 감사합니다....^^ 1593 2008/06/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.