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
[54396] Re:Re:trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ?
linuxman [] 1347 읽음    2008-08-25 17:13
고맙습니다..

그러면 ..trackbar를 통하여..가로/세로를 동일한 비율로 축소/확대하는것은 불가능한가요?
혹  runtime 에서 이미지의 사이즈를 가로/세로 동일한 비율로 줄였다/늘였다 할수 있는 좋은 방법이 있나요?
WM_SYSCOMMAND를 통해서...마우스 커서를 변경하면서 하려하니,image는 Handle이없어서..


      if(X < 4 && Y < 4)  
        SysCommWparam = SC_DRAG_RESIZEUL;  
      else if(X > SenderControl->Width-4 && Y > SenderControl->Height-4)  
        SysCommWparam = SC_DRAG_RESIZEDR;  
      else if(X < 4 && Y > SenderControl->Height-4)  
        SysCommWparam = SC_DRAG_RESIZEDL;  
      else if(X > SenderControl->Width-4 && Y < 4)  
        SysCommWparam = SC_DRAG_RESIZEUR;  
      else if(X < 4)  
        SysCommWparam = SC_DRAG_RESIZEL;  
      else if(X > SenderControl->Width-10){

        SysCommWparam = SC_DRAG_RESIZER;
         
        }
      else if(Y < 4)  
        SysCommWparam = SC_DRAG_RESIZEU;  
      else if(Y > SenderControl->Height-4)  
        SysCommWparam = SC_DRAG_RESIZED;  
      else 
        SysCommWparam = SC_DRAG_MOVE;  
      ReleaseCapture();
//* 이런 형태의 것도 안되고 ...
      SendMessage(Image1->Handle, WM_SYSCOMMAND, SysCommWparam, 0);



질문 드렸던것은 .. 델파이 examp code에서 이미지의 가로/세로를 동일한 비율로 줄였다 늘였다 하려면..
formshow에서...
   trackbar1->Posision = Image1->Width;
  trackbar1->Posion = Image1->Height;

하고 trackbar의 이벤트 처리 루틴에서..
   Image1->Width=TrackBar1->Position
   Image1->Height=    TrackBar1->Position;

이렇게 하니까.... 이미지의 사이즈가 동일한 비율로 가로세로 확대/축소 되는것 같아서 .. 질문을 드렸던 것인데...
       

장성호 님이 쓰신 글 :
: 원래 TImage의 크기가 가로 세로 다르네요
:
: Image1Click에서 하면
: Image를 Click하기 전까지는 원래 Size를 보여주는것이죠
:
: 두번째로 FormShow 할때
:
:      Image의 Width와 Height를 TrackBar1->Position 으로 설정하셨는데...
:  
:      FormShow에서 다음코드를 실행함과 동시에
:         TrackBar1->Position = Image1->Width;
:     TrackBar1Change이벤트가 뜹니다.
:
:     즉 FormShow에서 TrackBar1->Position을 Image1->Width로 수정하면
:     TrackBar1Change이벤트가 발생하여 Image1->Height도  같이 바뀌어 버리죠
:     그런후에  다음코드 TrackBar1->Position = Image1->Height; 는 아무 의미 없는 코드가 되죠
:
: TrackBar의 Position을 코딩으로 값을 변경하더라도
: TrackBar의 OnChange 이벤트 핸들러가 발생한다는것에 주의하시면 될것 같습니다.
:
: 그럼..
:   
:
: linuxman 님이 쓰신 글 :
: : 안녕하세요...
: :
: :    이미지의 크기를 실행되었을때.. 크기를 줄였다/늘였다를 트랙바를 통해서 하려고 합니다.
: : 마우스가 클릭되었을때...
: :        1. 트랙바의 위치를 이미지로 크기로 설정하였다가,
: :        2. 트랙바가 변화되면..그때의 position값을 이미지에 적용하는것인데..
: :
: :     최초의 위치지정을 FormShow에서 했을때와 , image1이 클릭됐을하는것과 차이가 있는 부분이 있는것 같습니다.
: :    아래의 것을 컴파일해보시면.. FormShow를 주석처리하고, Image1Click로 컴파일해보면...
: :     최초이미지의 크기가 줄어들었다가..trackbar의 적용을 받는것같습니다..
: :   
: : FormShow에서 했을때와 , image1이 클릭됐을하는것에 어떤 차이가 있어서 이런현상이 일어나는지 궁금합니다.
: : (실제로 폼에는 동적으로생성한 여러개의 이미지들이 있어서,, 하나의 트랙바에 여러개의 이지의 사이즈를 할당할수 없어서, 선택된 이미지를 trackbar 에 설정하는 형태로 했는데...)
: :
: : void __fastcall TForm1::TrackBar1Change(TObject *Sender)
: : {
: :  Image1->Width=TrackBar1->Position;
: :    Image1->Height=    TrackBar1->Position;       
: : }
: :
: : void __fastcall TForm1::FormShow(TObject *Sender)
: : {
: :     
: :  /* FormShow 에서 image1의 사이즈를 trackbar에 할당하면...
: : 원하는 대로 잘됩니다. */
: :         TrackBar1->Position = Image1->Width;
: :         TrackBar1->Position = Image1->Height;
: : }
: :
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::Image1Click(TObject *Sender)
: : {
: :        /* 위의 formshow에 있는 두줄을 주석처리 하고
: :          아래의 것을 주석을 풀고 컴파일하면...
: :         그리고 실행된 후에...먼저 Image1을 선택(클릭 ) 후 trackbar를 끌어보면...
: :        trackbar가 최초의 position 값 10 이 적용되어...이미지가 10정도도 변했다가...
: :       트랙바의 적용을 받게 됩니다...
: :       위의 formshow에서 처럼하고 싶은데...
: :       */
: :       //TrackBar1->Position = Image1->Width;
: :       // TrackBar1->Position = Image1->Height;
: : }
: : //---------------------------------------------------------------------------
: : //---------------------------------------------------------------------------
: :
: :
: : 수고하세요.

+ -

관련 글 리스트
54387 trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ? linuxman 1079 2008/08/23
54389     Re:trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ? 장성호 1021 2008/08/25
54396         Re:Re:trackbar를 통한 이미지사이즈 변경이 formshow에서할때와 image1Click 후에 하는것과의 차이가 ? linuxman 1347 2008/08/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.