저는 간단하게 TImage를 가지고
그림판같은 프로그램을 만드려고 합니다...
제가 구현한것은
TImage의 OnMouseDown Event 에
Image.canvas.pixels[ x, y ] := Pan_Color.color;
와 같이 해서
점을 찍는 프로그램입니다.. 그런데
그림판에서와 같이 2배, 3배 이렇게 사용자에게 크게 보여지게 하기위해서
Stretch := True 해놓은 상태에서 Width 와 Height에 *2 , *3 해서
구현을 했는데.... 보여지는건 크게 보여지는데...
실제적으로는 원래 이미지의 크기에서의 Pixel값을 가지고있는것 같이
조금은 엉뚱한 결과가 나오네요 ^^;;
혹시 이걸 해결할 방법을 알고 계신 고수님들 부탁드립니다 .~~~ ^^;;
이미지가 커지는 것은 아닙니다.
내부의 비트맵데이터는 역시 똑같은 크기를 가지고 있습니다.
그래서 만약 마우스 좌표를 가지고 그리셨다면...
이상한 결과가 나오게 됩니다.
결국모든 것은 내부의 비트맵 데이터와 관련이 있지요..
확대를 하신다면 ..
원본을 두시고 확대할 만큼 비트맵 크기를 설정 하시고
스트래치브릿으로 복사해서 넣으시면 됩니다.
2의 정수배의 경우 깨질염려는 없지만 그외의 경우
정확하게 늘어나고 줄어든다는 보장은 없습니다.
그리고 켄바스의 픽셀을 사용하지는 마십시요...
속도가 워낙느려서 차라리 Lineto함수를 쓰신다던지
다른 것으로 하시는게 좋을 듯 합니다.