https://code.google.com/p/ryulib4delphi/source/browse/trunk/XE2/ImageTools.pas
쩌그노트 님이 쓰신 글 :
: 오라클 blob 이미지를 읽어서 함수에 태워 원하는 결과값을 얻어내는 로직을 구현하는데
: 이미지 관련 형식을 잘 몰라 질문 드립니다.
:
: //기존 소스
: procedure TMainForm.buttonClick(Sender: TObject);
: var i, iErr : integer;
: a_image, b_image : TImage;
: begin
: //해당 폴더의 이미지를 flist_box에 뿌려준다.
: flist_box.ApplyPath(cxFolder.Text);
:
: for i := 1 to fListBox.Items.Count do
: begin
: a_image := TImage.Create(Self);
: b_image := TImage.Create(Self);
:
: a_image.Picture.LoadFile(fListBox.Items[i-1]);
:
: //리스트박스의 이미지파일을 순차적으로 함수에 태운다.
: //함수의 형식은 정해져 있기 때문에 수정불가함.
: iErr := g_ImageLib.GetCropImage(a_image, b_image);
: end;
: a_image.Free;
: b_image.Free;
: end;
:
: -> 수정 사항. 폴더의 이미지를 선택하는 게 아니라 오라클 DB의 Blob 이미지를 불러 와야 함.
: procedure TMainForm.buttonClick(Sender: TObject);
: var i, iErr : integer;
: a_image, b_image : TImage;
: BStream : TStream;
: begin
: with Query1 do
: begin
: close;
: sql.clear;
: sql.add(' select photo from test ');
: sql.add(' where photo_no = '1234' ');
: open;
: end;
:
: for i := 1 to query1.recordcount do
: begin
: a_image := TImage.Create(Self);
: b_image := TImage.Create(Self);
:
: BStream := query1.CreateBlobStream(query1.FieldByname('photo'),bmRead);
:
: a_image := BStream; -> 이 부분을 어떻게 처리해야 하는 지 모르겠습니다.
: 데이타 형식을 맞춰야 할 거 같은데 가능 한지요?
:
: //리스트박스의 이미지파일을 순차적으로 함수에 태운다.
: //함수의 형식은 정해져 있기 때문에 수정불가함.
: iErr := g_ImageLib.GetCropImage(a_image, b_image);
: end;
: a_image.Free;
: b_image.Free;
: end;
:
: inttostr처럼 TStream -> TImage으로 형식을 맞추는 작업이 아예 불가능한지,
: 아니면 다른 방법이 있는 건지 조언을 해주시면 감사하겠습니다.
: