을 발견 할 때마다 당신은 CIMG에 y
값을 지정, 먼저 당신이 무엇을 원하는에서 좌표계를 뒤집어 야 제공합니다. 아마도이 작업을 수행하는 가장 쉬운 방법은 당신을 위해 y
값을 변환 자신의 함수를 작성하는 것입니다 :
unsigned int flip_y(unsigned int y, unsigned int height) {
return height - y;
}
이것은 모든 장소는 y
을 지정해야됨을 의미를, 당신은을 사용하는 것을 기억해야 할 것 기능 :
img.draw_text(x, y, "hello world!", ...);
// becomes
img.draw_text(x, flip_y(y, img.height()), "hello world!", ...);
당연하게도, 이것은 매우 빠르고 매우 지루한 얻을 것이고, 하나의 상황에서 flip_y
를 사용하는 잊어하는 것은 아래로 추적하고 해결하기 위해 소모 매우 시간이 될 수 있습니다.
대안으로 CImg
의 자신의 서브 클래스를 만들어 y
값을 원래 CImg
방법에 값을 전달하기 전에 y
을 반전 모든 기능을 포장 할 수있다. 이것은 서브 클래스에 대한 참조를 CImg
매개 변수를 예상하는 라이브러리 함수로 전달할 때 작동 할 수 있다는 장점이 있습니다.
많은 그래픽 라이브러리가 이러한 종류의 좌표 시스템을 사용하여 버퍼 주소 지정을 수행하는 것이 훨씬 쉽기 때문에 일반적으로이 스타일의 좌표를 사용합니다. 앞으로 컴퓨터 그래픽 작업을 더 많이 할 계획이라면이 좌표계를 더 수학적으로 사용하려고 시도하는 대신 직접 사용하는 방법을 배우는 것이 좋습니다.
@bvalabas, 어떤 도움이 필요합니까? 오, 죄송합니다. 누군가 태그하지 않으면 작동하지 않습니다! – web2dev