Q&A

  • 그림 사이즈?
우선 즐거운 크리스마스들 되세여~



다른 서버에 있는 사진파일을(LONG LOW필드,JPG) 최신 서버의 DB에 저장했습니다.

이 사진을 TImage를 사용해서 조회하였습니다.

그런데 문제는 화질이 떨어지는것입니다.



불가피한 사정(다른 작업땜시)으로 TImage를 AutoSize를 true로 해놓고

stretch는 False로 해놓아야 합니다.



사진을 조회해보면 원사진보다 넓게 퍼져나옵니다.

TImage를 작게하고 AutoSize를 False하고 stretch를 true 해놓으면 괘안은데

그렇게 하지 않고 사진을 잘 나오게 할 수는 없는지요?



스캔작업땜에 위와같이 설정했거던여..



아래 소스는 자료를 넘기는 프로그램의 소스입니다.

조회하는 화면은 따로 있지요.

DB에 넣을때 사진을 작게해서 넣을 수 있는 방법은 없나요?

부탁드려요!



if (Image1.Picture.Graphic is TJPEGImage) then

begin

FileStream := TFileStream.Create(_JPGPHOTO, fmCreate); //이미지 사진 작업



try

TBlobField(Query1.FieldByName('PHOTO')).SaveToStream(FileStream);

finally

FileStream.Free;

end;



kJpg := TJpegImage.Create;

// kjpg := TJPEGImage(Image1.Picture.Graphic);

kJpg.LoadFromFile(_JPGPHOTO);



=> 이렇게 작업한번 해주니깐 화면이 좀 낳은거 같더라구여

jBmp := TBitmap.Create; // jpg 를 bmp

jBmp.Assign(kJpg);

if FileExists(_BMPPHOTO) then DeleteFile(_BMPPHOTO);

jBmp.SaveToFile(_BMPPHOTO);



kjpg.Free;

// jBmp.Free;



try => 이작업은 TImage를 작게해놓고 그걸 불러서 저장하면 괘안을까

해서 해봤는데 마찬가지더군요.

Image1.Picture.LoadFromFile(_BMPPHOTO);

Image1.Picture.Assign(jBmp);

Image1.Picture.SaveToFile(_BMPPHOTO);

except

Image1.Picture.Assign(nil);

end;



jBmp.Free;



jBmp := TBitmap.Create;

jBmp.LoadFromFile(_BMPPHOTO);



kJpg := TJpegImage.Create; //bmp를 jpg로

kJpg.Assign(jBmp);

if FileExists(_JPGPHOTO) then DeleteFile(_JPGPHOTO);

kJpg.SaveToFile(_JPGPHOTO);



jBmp.Free;

kjpg.Free;

sFileName := _JPGPHOTO;



이 뒤에 DB에 Insert 합니다.







0  COMMENTS