퇴근5분전

ZoomInOut을 구현했는데...

int[]  factors = { 50, 100, 200  };

을 combo에 넣고

옛날 값 = 100; 으로 초기값 사용.

현재 선택된 Factor  = 50;
{

float 조정배율 =  현재값/ 옛날값 ;
Control.Scale( new SizeF(  조정배율 , 조정배율  ));
옛날값 = 현재값;

}
추가로 폰트
  => 폰트 사이즈 * 조정배율;

이러면 간단히 된다. ㅡ.,ㅡ;; 아래는 삽질 ? ㅋㅋ


--- 기존 ----------------------------------------------------------------------------------------

컨트롤을 만들다가 적용해보았음.

공식 검토하고 적용해보고 테스트 하는데 30분이나 까먹었음...

아~~ 산수 역시나..

  // 원래 size  / 현재size * 배율

이건 Control.Scale(); 에 들어가는 배율을 구하는 공식임.

곧 처음 사이즈가 100 이었을때

50%로 줄이면 100 / 100 * ( 50 / 100 )  = 0.5 절반

으로 Scale에 들어가는 값으로 구해진다.

다시 50에서 100%으로 늘리면   100 / 50 * ( 100 / 100 )  = 2

다시 200%로 올리면 100 / 100 * ( 200/ 100 ) = 2   로써 2배로 늘어나고

이걸 50% 로 줄이면

 100 / 200 * ( 50 / 100 ) = 0.25 배가 된다.    고로 현재 사이즈에서 0.25배...
 
현재 사이즈 * 0.25 를 하게 되면 50 이란 실제 사이즈가 나오게 된다...