새로운 글
새로운 덧글

(해당 내용은 모든 데이터셋(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)

번호 제목 글쓴이 날짜 조회 수
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 3566
공지 이 달의 기술자료 & 기술레터 관리자 2017.02.06 640
공지 [프로그래밍 강의] 2018.8 ~ 2018.11 관리자 2015.01.22 6199
공지 RAD Studio(Delphi, C++Builder) 시작하기 관리자 2015.06.30 11088
공지 RAD 스튜디오로 개발된 모바일 앱 사례(17년 12월 13일 업데이트) 험프리 2014.01.16 148153
182 리펙토링 1-클래스, 정적메소드, 속성, 필드 이동하기 file 김원경 2017.02.23 327
181 [오픈소스] 델파이 컴포넌트, 프레임워크, 라이브러리, 리소스 등등 관리자 2017.02.15 908
180 [마이그레이션] 64비트 적용 시 검토할 사항들 file 험프리 2017.02.08 679
179 [따라하기] 도서대여 프로그램 만들기 - 6, 통합테스트 file 험프리 2017.02.02 448
178 [따라하기] 도서대여 프로그램 만들기 - 5, 도서대여 기능 개발 file 험프리 2017.02.02 489
177 [따라하기] 도서대여 프로그램 만들기 - 4, 회원관리 기능 개발 [1] file 험프리 2017.02.01 547
176 델파이 개체를 메모리에서 해제할 때 Free와 FreeAndNil의 차이점 김원경 2017.02.01 475
175 [따라하기] 도서대여 프로그램 만들기 - 3, 도서관리 기능 개발 [2] file 험프리 2017.01.26 1056
174 [따라하기] 도서대여 프로그램 만들기 - 2, 메인화면 개발 [2] file 험프리 2017.01.26 705
173 [따라하기] 도서대여 프로그램 만들기 - 1, 분석, 설계 [3] file 험프리 2017.01.26 1324
172 [따라하기] 도서대여 프로그램 만들기(VCL, DB프로그래밍) [2] file 험프리 2017.01.19 3424
171 델파이에서 사용하는 각 Stream(스트림) 정리 김원경 2017.01.04 1405
170 [추가된 문법] DLL 정적 호출 시 지연 호출(Delayed)-델파이 2010 추가 김원경 2016.12.27 297
169 부동소수점 숫자(실수)에 대한 참고 글 험프리 2016.12.14 340
168 퀵레포트(Quick Report)에 사진 출력하기 험프리 2016.08.01 929
» BLOB 컬럼에 (이미지 등의)데이터 읽고 쓰기 험프리 2016.08.01 947
166 1차 공개 중고생 강의용 앱 소스 및 메뉴얼입니다. file 쭈니아빠 2016.07.16 437
165 [추가된 문법 정리] - 배열 상수 초기화:델파이 XE7 추가 관리자 2016.06.03 1472
164 [추가된 문법 정리] - 클래스 필드(Class Field):델파이 2007 추가 관리자 2016.06.03 307
163 브레이크 포인트를 설정해도 디버깅이 안되는 경우 살펴볼 항목 file 험프리 2016.05.13 900


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