Q&A

  • 이미지 컴포너트를 움직일때 깜박임 현상이을 없애는법좀...
안녕하세요...

델파이로 이미지처리를 하고 싶은데... image 컴포넌트를 사용해서 위치를 움직이니까 ,,, 그러니까 애니메이션 효과를 주기위해 조금씩 움직이는데... 폼위에서 하니까 지우고 다시쓰는 현상때문에 깜박임 현상이 눈에 거슬립니다.

해결할 수 있는 방법좀 가르켜 주십시요...

코딩으로 해결할 수 있든지 아님 좋은 컴포넌트라도...

지금 공부하고 있는것은 델파이에서 툴북이나 디렉터에서 처럼 이미지 자료를 슬라이드 식으로 여러 방법으로 바꾸어 주는 것을 하고 싶어요... 꼭 좀 도와 주세요...



델파이 팁을 찾아보니 아래와 같이 씌여져 있던데... 잘 안되네요



{ 깜박임이 발생하는 이유는 폼이 회색으로 칠해지고 다시 이미지로 칠해지

기 때문에 - 두번 칠해지기 때문입니다.

- 한번만 칠해지게 하면 된다는 의미죠.



TForm 의 속성에 보면 Color 라는 속성이 있고 그 값에 따라 폼에 색상

이 변하는 것을 알수 있습니다.

그러면 TForm 은 WM_ERASEBKGND 메세지가 발생할때 Color 속성값으로 배경

을 칠합니다.



때문에 WM_ERASEBKGND 메세지를 가로(?)채면 간단히 해결됩니다.



...

...

procedure TForm1.WMEraseBkgnd(var M: TMessage);

begin

M.Result := 1;

end;



이건 이미지를 그릴때 뿐만이 아니라 콤포넌트를 만들때도 하여튼 널리

사용 할수 있습니다~

}



1  COMMENTS
  • Profile
    이정욱 2000.10.04 07:16
    아주 간단한 방법이 있습니다.



    그 이미지 컨트롤을 가지고 있는 소유자객체에게 DoubleBuffered 라는 속성을 True로 주고 해보세요 ^^;



    쉽져?



    이광형 wrote:

    > 안녕하세요...

    > 델파이로 이미지처리를 하고 싶은데... image 컴포넌트를 사용해서 위치를 움직이니까 ,,, 그러니까 애니메이션 효과를 주기위해 조금씩 움직이는데... 폼위에서 하니까 지우고 다시쓰는 현상때문에 깜박임 현상이 눈에 거슬립니다.

    > 해결할 수 있는 방법좀 가르켜 주십시요...

    > 코딩으로 해결할 수 있든지 아님 좋은 컴포넌트라도...

    > 지금 공부하고 있는것은 델파이에서 툴북이나 디렉터에서 처럼 이미지 자료를 슬라이드 식으로 여러 방법으로 바꾸어 주는 것을 하고 싶어요... 꼭 좀 도와 주세요...

    >

    > 델파이 팁을 찾아보니 아래와 같이 씌여져 있던데... 잘 안되네요

    >

    > { 깜박임이 발생하는 이유는 폼이 회색으로 칠해지고 다시 이미지로 칠해지

    > 기 때문에 - 두번 칠해지기 때문입니다.

    > - 한번만 칠해지게 하면 된다는 의미죠.

    >

    > TForm 의 속성에 보면 Color 라는 속성이 있고 그 값에 따라 폼에 색상

    > 이 변하는 것을 알수 있습니다.

    > 그러면 TForm 은 WM_ERASEBKGND 메세지가 발생할때 Color 속성값으로 배경

    > 을 칠합니다.

    >

    > 때문에 WM_ERASEBKGND 메세지를 가로(?)채면 간단히 해결됩니다.

    >

    > ...

    > ...

    > procedure TForm1.WMEraseBkgnd(var M: TMessage);

    > begin

    > M.Result := 1;

    > end;

    >

    > 이건 이미지를 그릴때 뿐만이 아니라 콤포넌트를 만들때도 하여튼 널리

    > 사용 할수 있습니다~

    > }

    >