새로운 글
새로운 덧글

DBMS의 Blob 컬럼의 이미지 데이터를 퀵레포트 보고서에 출력하는 내용입니다.

 

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

(TQRDBImage는 비트맵 데이터만 출력할 수 있습니다.)

 

저는 JPEG, GIF, PNG 등을 지원하기 위해 TQRImage를 이용합니다.

 

아래 델파이 샘플은 BOOK_THUMB(Blob 컬럼)의 데이터를 읽어 TQRImage에 표시하는 내용입니다.

Blob 컬럼을 읽기 위해 TBlobField를 사용하고, TWICImage를 이용해 다양한 포맷을 지원합니다.

(BLOB 컬럼에서 (이미지 등의)데이터 읽고 쓰기: http://blog.hjf.pe.kr/437)

 

레코드 별로 이미지를 표시하기 위해 TFDQuery의 AfterScroll 이벤트에 이미지 불러오는 코드를 작성합니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

  private

    { Private declarations }

    FWicImage: TWICImage;

    FMemoryStream: TMemoryStream;

  public

    { Public declarations }

  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;

 

아래와 같이 보고서에 이미지를 출력할 수 있습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 2451
공지 이 달의 기술자료 & 기술레터 관리자 2017.02.06 540
공지 데브기어 강의 - 2018년 4월~2018년 7월 관리자 2015.01.22 5972
공지 RAD Studio(Delphi, C++Builder) 시작하기 관리자 2015.06.30 10204
공지 RAD 스튜디오로 개발된 모바일 앱 사례(17년 12월 13일 업데이트) 험프리 2014.01.16 147436
635 FireDAC 성능 비교(BDE, dbGO(ADO), dbExpress, FireDAC) file 험프리 2016.08.09 766
» 퀵레포트(Quick Report)에 사진 출력하기 험프리 2016.08.01 853
633 BLOB 컬럼에 (이미지 등의)데이터 읽고 쓰기 험프리 2016.08.01 805
632 퀵레포트 보고서 엑셀로 내보내기(저장하기) [1] 험프리 2016.08.01 605
631 이 달의 기술자료 - 2016년 08월 file 험프리 2016.07.28 285
630 [마이그레이션] 써드파티 컴포넌트 마이그레이션 방안 안내 험프리 2016.07.26 693
629 1차 공개 중고생 강의용 앱 소스 및 메뉴얼입니다. file 쭈니아빠 2016.07.16 414
628 이 달의 기술자료 - 2016년 07월 file 험프리 2016.06.30 1783
627 [발표자료] 20160624 소개합니다, RAD서버 관리자 2016.06.27 472
626 [추가된 문법 정리] - 배열 상수 초기화:델파이 XE7 추가 관리자 2016.06.03 1330
625 [추가된 문법 정리] - 클래스 메소드(Class Method):델파이 2007 추가 관리자 2016.06.03 326
624 [추가된 문법 정리] - 클래스 필드(Class Field):델파이 2007 추가 관리자 2016.06.03 267
623 [발표자료] 20160602 Upgrade VCL! 오래된 프로그램, 최신식으로 탈바꿈하기 관리자 2016.06.02 596
622 [베를린] GetIt 속성값을 별도의 옵션창에서 관리할 수 있습니다. 관리자 2016.05.30 186
621 [베를린] Eddystone 비콘을 사용할 수 있습니다. 관리자 2016.05.30 194
620 [베를린] 윈도우10에서 블루투스LE와 비콘을 활용할 수 있습니다. 관리자 2016.05.30 479
619 이 달의 기술자료 - 2016년 06월 file 험프리 2016.05.27 418
618 [업데이트][핫픽스][10.1 베를린] 갤럭시 S7 Edge(안드로이드 6.0.1) 디버깅이 되지않는 이슈 패치 험프리 2016.05.27 458
617 10.1 베를린 부터는 리본 컨트롤을 겟잇 패키지 매니저에서 설치할 수 있습니다. file 험프리 2016.05.27 243
616 코드사이트(CodeSite)로 로그를 기록하며 프로그램의 문제를 파악할 수 있습니다. file 험프리 2016.05.26 931


광고 모듈이 설치되어 있지 않아 실행을 중단합니다..