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

델파이 Q&A
Delphi Programming Q&A
[16040] Re:이미지 확대축소함수(ScaleImage)를 Delphi7 에서 이용하고 싶습니다.
엘레코스 [elechos] 1978 읽음    2019-06-24 13:16
아래 두개의 함수(SetStretchBltMode, StretchBlt)를 활용하니 화질이 깨끗하게 나옵니다. 참고하세요.
혹 델파이2005 이상 VCL에 있는 ScaleImage 함수를 델파이7로 활용하시는 분이 계시면 공유 좀 부탁드립니다.

tmpBmp := TBitmap.Create;
BMP:=TBitmap.Create;
BMP.Assign(image1.Picture.Graphic);

iHeight := Ceil((BMP.Height*600)/BMP.Width);
tmpBmp.Width:=600;
tmpBmp.Height:=iHeight;

SetStretchBltMode(tmpBmp.Canvas.Handle, HALFTONE);
StretchBlt(tmpBmp.Canvas.Handle, 0, 0, tmpBmp.Width, tmpBmp.Height, BMP.Canvas.Handle, 0, 0, BMP.Width, BMP.Height, SRCCOPY );

my_jpeg.Assign(tmpBmp); 


[참고링크]
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=1132


엘레코스 님이 쓰신 글 :
: 안녕하세요?
: 팁란에 '고품질 썸네일 이미지를 쉽게 만들기' 를 임프님이 올려주셨는데요,
: http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=1128
:
: 위에서 사용한 ScaleImage 프로시져가 델파이 2005 이상에만 있는 거네요.
: 혹 델파이7에서 사용하도록 할 수 없을까요?
: 이미지 관련 CopyRect, StretchDraw, SetStretchBltMode 함수 등을 사용해 보았는데
: 원본이미지(1627*2312)를 너비600, 높이800픽셀(600*800) 정도 축소시에도 부분적으로 왜곡되는 현상이 있어서요.
: 구글검색으로 SmoothResize 함수를 두어개 사용해 보았는데 아주 약간 개선될뿐
: 몇 글자들이 흐릿하게 보이는 현상은 여전했습니다.
:

+ -

관련 글 리스트
16039 이미지 확대축소함수(ScaleImage)를 Delphi7 에서 이용하고 싶습니다. 엘레코스 1149 2019/06/22
16040     Re:이미지 확대축소함수(ScaleImage)를 Delphi7 에서 이용하고 싶습니다. 엘레코스 1978 2019/06/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.