야수 님이 쓰신 글 :
: JPG 파일 저장하려고 이틀동안 눈알 벌개져 있습니다.
:
: 필드는 Blob 타입으로 만들고(서브타입을 뭘로해야할지 몰라서 걍 Blob)
:
: if OpenPictureDialog1.Execute then
: DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
:
: 일케해서 저장 했는데... 왜 저장이 안되는지 모르겠네요..
:
: Image 파일 저장을 어떻게 해야되죠?
:
: 고수님들 바쁘시더라도 제발 힌트만이라도...미리 감사드리겠습니다.
:
DBImage는 Bitmap 밖에 불러올수 없습니다.
Jpeg을 사용하실려면 TDBImage가 아닌 TImage Component를 이용해서 일일이 불러내야합니다.
물론 DB에 저장할때 역시 일일이 처리를 해줘야합니다.
아래에 간단한 예시를 들어놨습니다.
uses ..., Jpeg;
// Table에 Blob 자료 기록하기
TBlobField(QPic.FieldByName('pic')).LoadFromFile(OpenPicDlg.FileName);
// Table에 기록되어있는 Blob 자료 TImage로 불러오기
MyJpg := TJpegImage.Create;
MyStream := TMemoryStream.Create;
try
MyStream.Position := 0;
TGraphicField(QPic.FieldByName('pic')).SaveToStream(MyStream);
MyStream.Position := 0;
MyJpg.LoadFromStream(MyStream);
Img.Picture.Assign(MyJpg);
finally
MyJpg.Free;
MyStream.Free;
end;
|