CopyRect를 사용하다가 속도 문제때문에 Bitblt를 사용하려 합니다.
근데 생각처럼 동작이 되지 않네요.
Image2의 일부 내용을 Image1에 복사하려고 합니다.
그냥 쉽게 생각해서
BitBlt(Image1.picture.Bitmap.Canvas.Handle ,X ,y, x+20, y+20, Image3.picture.Bitmap.Canvas.handle,x,y,SrcCopy);
이렇게 했는데, 반응이 없네요.
대신 Image1.refresh를 하나 넣어주니까 결과는 오는군요.
BitBlt(Image1.picture.Bitmap.Canvas.Handle ,X ,y, x+20, y+20, Image3.picture.Bitmap.Canvas.handle,x,y,SrcCopy);
image1.Refresh;
근데 속도 문제때문에 Bitblt를 썼는데, 이렇게 하니까 말짱 도루묵이네요
그냥 두 이미지 사이의 copy인데, 어느 부분을 잘못 썼나요?
BitBlt(image1.Canvas.Handle ,0 ,0, 20, 20,
Image2.Canvas.Handle ,0 ,0, SRCCOPY);
Image2에 있는 그림을 Image1로 고속 복사를 합니다.
단지 Image1에 가로와 세로가 20만 주었으므로 20만큼만 복사
되었겠지요.
만약 저렇게 했는데 안된다면 혹시 이미지가 Bitmap 이 아닐수도
있으니 확인을 한번 해보세요.
그럼 즐기면서 프로그래밍 하시길....
Ben