|
남궁주익 님이 쓰신 글 :
: 다른 컴포넌트를 써도 괜찬은데 기본 컴포넌트로 하는 방법 없을까요??
:
: Q&A 뒤져서 몇가지 방법을 해봤는데 모두 화질저하나 계단현상이 생기더라구요.
: GIF나 PNG 이런파일들도 리사이즈하는 방법도 알려주시며 고맙겠습니다.
컴포넌트 등 이미 만들어진 것은 잘 모르겠구요 제가 직접 구현해본 경험으로는 JPEG를 Bitmap로 만든 다음 ScanLine에 직접 연산을 가하여 확대/축소하면 상당히 개선됩니다.
축소야 이미지가 원본과 큰 차이가 없지만 확대할 경우 계단 현상 등이 문제가 됩니다.
이 경우, ScanLine에 직접 연산 시 예를 들어 가로 2배 세로 2배로 확대한다고 하면 면적은 4배 확대하게 되는데 원본에는 없는 3픽셀의 정보를 만들어내야 하는 과제가 남게 됩니다.
얼른 스치는 생각으로 원본 픽셀 하나를 4개의 픽셀에 그대로 사용하면 간단한 것 아니냐 하겠지만 바로 이것때문에 계단현상이 더욱 커지게 됩니다.
이를 완화하려면 원본 픽셀 중 현재 픽셀 주위의 픽셀들까지 포함하여 중간색을 만들어 늘어난 픽셀의 색으로 하면 됩니다.
이미지를 축소할 때도 같은 원리로 하면 되겠습니다.
현재 이 문제 해결 방법을 생각중인데요, 깊은 생각을 해본 것은 아니지만 이미지에 가상의 곡선을 그려놓고 이 곡선으로 부터 원본 각 픽셀의 관계를 계산하여 확대/축소할 이미지에 동일하게 적용하면 어쩌면 베지어곡선(원리는잘모름)과 같이 계단현상을 극복할 수 있지 않을까...ㅎㅎ
|