C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[39601] Re:[질문]JPG이미지파일 깔끔하게 리사이즈 할려면 어떻게 해야되나요??
[] 1790 읽음    2005-03-23 01:49
남궁주익 님이 쓰신 글 :
: 다른 컴포넌트를 써도 괜찬은데 기본 컴포넌트로 하는 방법 없을까요??
:
: Q&A 뒤져서 몇가지 방법을 해봤는데 모두 화질저하나 계단현상이 생기더라구요.
: GIF나 PNG 이런파일들도 리사이즈하는 방법도 알려주시며 고맙겠습니다.

컴포넌트 등 이미 만들어진 것은 잘 모르겠구요 제가 직접 구현해본 경험으로는 JPEG를 Bitmap로 만든 다음 ScanLine에 직접 연산을 가하여 확대/축소하면 상당히 개선됩니다.
축소야 이미지가 원본과 큰 차이가 없지만 확대할 경우 계단 현상 등이 문제가 됩니다.
이 경우, ScanLine에 직접 연산 시 예를 들어 가로 2배 세로 2배로 확대한다고 하면 면적은 4배 확대하게 되는데 원본에는 없는 3픽셀의 정보를 만들어내야 하는 과제가 남게 됩니다.
얼른 스치는 생각으로 원본 픽셀 하나를 4개의 픽셀에 그대로 사용하면 간단한 것 아니냐 하겠지만 바로 이것때문에 계단현상이 더욱 커지게 됩니다.
이를 완화하려면 원본 픽셀 중 현재 픽셀 주위의 픽셀들까지 포함하여 중간색을 만들어 늘어난 픽셀의 색으로 하면 됩니다.

이미지를 축소할 때도 같은 원리로 하면 되겠습니다.

현재 이 문제 해결 방법을 생각중인데요, 깊은 생각을 해본 것은 아니지만 이미지에 가상의 곡선을 그려놓고 이 곡선으로 부터 원본 각 픽셀의 관계를 계산하여 확대/축소할 이미지에 동일하게 적용하면 어쩌면 베지어곡선(원리는잘모름)과 같이 계단현상을 극복할 수 있지 않을까...ㅎㅎ

+ -

관련 글 리스트
39557 [질문]JPG이미지파일 깔끔하게 리사이즈 할려면 어떻게 해야되나요?? 남궁주익 852 2005/03/18
39601     Re:[질문]JPG이미지파일 깔끔하게 리사이즈 할려면 어떻게 해야되나요?? 1790 2005/03/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.