1152 X 864 사이즈의 jpg 파일을
400 X 294 사이즈의 bmp파일로 만든뒤 Timage에 로드시켜
출력하는 프로그램을 짜고 있습니다.
헌데 해상도가 무지하게 떨어지는군요.
변환시켜줄때 해상도를 높여주는 방법은 없을까요?
조언 부탁드리겠습니다.
procedure TFrmPhoto.JpegToBmp(v_jpeg: string);
var
BMPImage: TBitmap;
JPEGImage: TJPEGImage;
v_rect_old, v_rect_new: TRect;
v_width,v_height:integer;
v_jpeg_path:string;
begin
JPEGImage := TJPEGImage.Create;
v_rect_New := Rect(0, 0, 400, 294);
try
BMPImage := TBitmap.Create;
try
JPEGImage.LoadFromFile(v_jpeg);
BMPImage.Assign(JPEGImage);
v_jpeg_path := PasString(v_jpeg, '.', 1);
BMPImage.SaveToFile(v_jpeg_path + '_imsi.bmp');
BMPImage.LoadFromFile(v_jpeg_path + '_imsi.bmp');
v_rect_Old := Rect(0, 0, BMPImage.Width, BMPImage.Height);
img4.Canvas.CopyRect(v_rect_New, BMPImage.Canvas, v_rect_old);
img4.Picture.SaveToFile(v_jpeg_path + '_imsi.bmp');
finally
BMPImage.Free;
end;
finally
JPEGImage.Free;
end;
end;
음 그냥 copyrect(Canvas)를 사용하신다면..
당연히 깨지겠져..
물론 확대 할때가 더깨지만
따라서 보간법을 사용하셔야 합니다.
선형보간법을 사용해서 이미지를 줄이거나
확대하심 깨지는 것을 많이 방지 할수 있습니다.
선형보간법 쓰는 방법은
www.nanosys.co.kr 가보시면
기술자료->이미지프로세싱에 있습니다.
제가 쓴것입니다.
함해보세여..그럼