새로운 글
새로운 덧글

(해당 내용은 모든 데이터셋(TDataSet을 상속받은 컴포넌트) 즉, FireDAC, dbExpress, dbGo(ADO) 등에 적용할 수 있습니다.)

 

대부분의 DBMS에서 Blob(Binary Large object) 타입의 컬럼을 만들 수 있습니다. 이 컬럼에는 이미지등의 큰 바이너리 데이터를 취급할 수 있습니다.

 

아래 코드는 Blob 컬럼에서 이미지를 읽고, 쓰는 델파이 예제입니다.

 

Blob 컬럼에 이미지 데이트 쓰기

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

var

  wic: TWICImage; // Microsoft Windows Imaging Component

  Stream: TMemoryStream;

begin

  wic := TWICImage.Create;
  Stream := TMemoryStream.Create;

  try

    wic.Assign(AImage.Picture);
    wic.SaveToStream(Stream);

    qryPhoto.Edit; // 데이터셋 수정

    (qryPhoto.FieldByName('PHOTO_PHOTO') as TBlobField).LoadFromStream(Stream);

    qryPhoto.Post;

  finally

    Stream.Free;

    wic.Free;
  end;

end;

 

Blob 컬럼에서 이미지 데이터 읽기

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

var

  wic: TWICImage; // Microsoft Windows Imaging Component

  Stream: TMemoryStream;

begin

  Stream := TMemoryStream.Create;

  wic := TWICImage.Create;

  try

    (qryPhoto.FieldByName('PHOTO_FIELD') as TBlobField).SaveToStream(Stream);

    if Stream.Size > 0 then

    begin

      try

        wic.LoadFromStream(Stream);

        Image1.Picture.Assign(wic);

      except

      end;

    end;

  finally

    Stream.Free;

    wic.Free;

  end;

end;

 

위에서 사용한 TWICImage는 Microsoft Windows Imaging Component를 캡슐화한 클래스로, 다양한 이미지 형식(Bitmap, JPEG, PNG, GIF, TIFF 등)을 로드할 수 있는 컨테이너 입니다.(http://docwiki.embarcadero.com/Libraries/en/Vcl.Graphics.TWICImage)

번호 제목 글쓴이 날짜 조회 수
공지 [10.3 리오][업데이트 3] What's NEW! 신기능 자세히 보기 관리자 2019.11.22 1724
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 3934
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 6766
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 3180
공지 [프로그래밍 강의] 2019.8~2019.12 관리자 2015.01.22 10204
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 관리자 2015.06.30 16334
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2019년 11월 업데이트 됨) 험프리 2014.01.16 153686
738 [RAD서버] EMS 서버 운영환경에 설치하기(독립형 실행파일) [2] 험프리 2017.04.28 1747
737 이 달의 기술자료 - 2017년 05월 file 험프리 2017.04.26 308
736 리눅스 서버용 GUI 응용프로그램 만들기(10.2 도쿄 & FMXLINUX 이용) [1] 관리자 2017.04.25 1024
735 [환경설정] 아마존 EC2 이용해 리눅스 서버 환경 구축하기 험프리 2017.04.20 7051
734 [환경설정] 아마존 EC2 이용해 윈도우 서버 환경 구축하기 [1] 험프리 2017.04.13 4740
733 [발표자료] What's NEW! RAD Studio 10.2 도쿄 험프리 2017.04.13 243
732 [고객 사례- 3D, 이미지스캐너, 델파이] mimix 3D 프로필 스캐너 관리자 2017.04.13 465
731 [RAD 서버] 비콘펜스 소개 및 데모(실내외 길찾기, 지역진입 감지하기) [1] 험프리 2017.04.13 543
730 [발표자료] 소개합니다! RAD Studio 10.2 도쿄 관리자 2017.04.06 328
729 이 달의 기술자료 - 2017년 04월 file 험프리 2017.03.30 300
728 [10.2 도쿄] 델파이로 리눅스 기반 웹서비스 제작하기(WebBroker 이용) [1] 험프리 2017.03.30 2009
727 블루투스 바코드 스캐너(BI-07) 안드로이드 라이브러리를 델파이에서 연동하는 방법 file 험프리 2017.03.24 1740
726 [10.2 도쿄] 기타 개선 사항 김원경 2017.03.24 301
725 [10.2 도쿄] RTL file 김원경 2017.03.24 402
724 IBLite 라이브러리 및 라이선스 배포하기 file 험프리 2017.03.24 321
723 [10.2 도쿄] 디버거 기능 김원경 2017.03.23 318
722 [10.2 도쿄] VCL: 고 해상도(DPI) 지원. 김원경 2017.03.23 409
721 [10.2 도쿄] 개발환경 개선사항 file 김원경 2017.03.23 500
720 [10.2 도쿄] FireDAC과 데이터베이스 개선 file 김원경 2017.03.23 847
719 [10.2 도쿄] 파이어몽키의 새로운 기능들 file 김원경 2017.03.23 833


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