Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

[공유] 쿽레포트에 Blob 컬럼의 이미지 데이터로 이미지 출력하기


험프리

질문

1 answer to this question

Recommended Posts

  • 0

(2016년 8월 답변으로, Quick Report 5.0.6 버전으로 작성된 내용입니다.)

쿽레포트에 사진을 출력하려면 TQRImage, TQRDBImage 2개의 컴포넌트를 이용할 수 있습니다.

TQRDBImage는 비트맵 데이터 출력만 지원하므로, 저는 JPEG, GIF, PNG 등을 지원하기 위해 TQRImage를 활용하는 방법을 안내합니다.

image.png

다음 코드는 Blob 컬럼으로 설정된 BOOK_THUMB의 데이터를 읽어 TQRImage에 표시하는 코드입니다.

// 선언부
  private
    FWicImage: TWICImage;
    FMemoryStream: TMemoryStream;
  end;
... 중략 ...
// 구현부
procedure TForm1.FormCreate(Sender: TObject);
begin
  FWicImage := TWICImage.Create;
  FMemoryStream := TMemoryStream.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FWicImage.Free;
  FMemoryStream.Free;
end;

procedure TForm1.FDQuery1AfterScroll(DataSet: TDataSet);
begin
  FMemoryStream.Clear;
  (FDQuery1.FieldByName('BOOK_THUMB') as TBlobField).SaveToStream(FMemoryStream);
  if FMemoryStream.Size = 0 then
    Exit;

  FWicImage.LoadFromStream(FMemoryStream);

  QRImage1.Picture.Assign(FWicImage);
end;

레코드 별로 이미지를 표시하기 위해 TFDQuery의 OnAfterScroll 이벤트에서 이미지를 불로오도록 구현했습니다.

필드를 TBlobField로 접근해 Stream으로 저장 후 TWICImage를 이용해 다양한 포맷을 지원했습니다.

위 코드로 출력한 결과는 다음과 같습니다.

image.png

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.