Q&A

  • TImage를 이용한 그림판???
저는 간단하게 TImage를 가지고

그림판같은 프로그램을 만드려고 합니다...

제가 구현한것은

TImage의  OnMouseDown Event 에

Image.canvas.pixels[ x, y ] := Pan_Color.color;

와 같이 해서

점을 찍는 프로그램입니다.. 그런데

그림판에서와 같이 2배, 3배  이렇게 사용자에게 크게 보여지게 하기위해서

Stretch := True 해놓은 상태에서 Width 와 Height에 *2 , *3 해서

구현을 했는데.... 보여지는건 크게 보여지는데...

실제적으로는 원래 이미지의 크기에서의 Pixel값을 가지고있는것 같이

조금은 엉뚱한 결과가 나오네요 ^^;;

혹시 이걸 해결할 방법을 알고 계신 고수님들 부탁드립니다 .~~~ ^^;;
3  COMMENTS
  • Profile
    박상윤 2002.03.27 23:51
    Image의 크기를 늘인다고..
    이미지가 커지는 것은 아닙니다.
    내부의 비트맵데이터는 역시 똑같은 크기를 가지고 있습니다.
    그래서 만약 마우스 좌표를 가지고 그리셨다면...
    이상한 결과가 나오게 됩니다.

    결국모든 것은 내부의 비트맵 데이터와 관련이 있지요..
    확대를 하신다면 ..
    원본을 두시고 확대할 만큼 비트맵 크기를 설정 하시고
    스트래치브릿으로 복사해서 넣으시면 됩니다.
    2의 정수배의 경우 깨질염려는 없지만 그외의 경우
    정확하게 늘어나고 줄어든다는 보장은 없습니다.
    그리고 켄바스의 픽셀을 사용하지는 마십시요...
    속도가 워낙느려서 차라리 Lineto함수를 쓰신다던지
    다른 것으로 하시는게 좋을 듯 합니다.

  • Profile
    사이비 2002.03.27 18:14
    간단하게 이미지 두개 만들고요
    하나는 작업하거나 보여줄때 .. 하나는 임시저장으루..
    그리고 확대할때는 100% 일때의 이미지를 프로퍼티에서 스트레치 지정하고
    width, height 조절해서 옮기세염 글문 간단..

    확대시 등등 배율이 틀려질때의 이벤트에서
    보이는 이미지에 점찍고 그런 작업한걸.. 일단 임시 이미지에 저장하고요
    배율이 고쳐진 상태로 옮겨놔여..
    글문 소스 몇줄 안될꺼예여..
    간단히...


  • Profile
    김도형 2002.03.27 18:20
    만약 제가 작업하는 이미지가

    width 8 height = 10 정도된다면 편집하기가 힘들어지기 때문에

    그런거거든여..

    혹시 이미지를 확대해서 편집할수는 없을까요??