새로운 글
새로운 덧글

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

번호 제목 글쓴이 날짜 조회 수
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 1217
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 4474
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 998
공지 [프로그래밍 강의] 2019.4~2019.7 관리자 2015.01.22 7836
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 관리자 2015.06.30 13376
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2019년 5월 업데이트 됨) 험프리 2014.01.16 150257
974 윈도우와 맥 개발 시작을 위한 파이어몽키 코스북: 무료 다운로드 제공(385페이지) 관리자 2013.04.05 152057
973 델파이 튜토리얼 자습서 이용 안내 관리자 2014.09.01 71074
972 이 달의 기술자료 - 2014년 11월 험프리 2014.10.13 53884
971 CD-ROM 열고 닫기 박병일 2011.12.22 44564
970 이 달의 기술자료 - 2014년 12월 file 험프리 2014.11.26 32225
969 최신버전에서 ComPort(시리얼 통신) 컴포넌트 설치안내 [10] file 험프리 2013.12.04 31331
968 이 달의 기술자료 - 2014년 6월 file 험프리 2014.06.05 30001
967 RAD Studio XE6 Update1 발표 [1] Humphery 2014.06.20 29229
966 [Android] 폰번호 가져오기 [1] 타락천사 2014.09.05 21307
965 델파이 XE2에서 dbExpress를 이용해 오라클 연결하기 file 박병일 2012.02.15 17322
964 SendMessage 함수를 이용한 메세지 전송 관리자 2012.01.05 16776
963 이 달의 기술자료 - 2014년 4월 file 험프리 2014.04.03 16293
962 이 달의 기술자료 - 2015년 03월 험프리 2015.02.25 15619
961 다중 클라이언트를 위한 DataSnap 서버 만들기 관리자 2011.12.22 15288
960 델파이 XE2 로 아이폰 하드웨어 컨트롤 하기 박병일 2012.01.19 15257
959 이 달의 기술자료 - 2015년 02월 file 험프리 2015.01.29 14804
958 델파이XE2의 VCL Styles 활용하기 박병일 2012.01.19 14528
957 파이어몽키 기반의 아이폰앱 개발에서 주소록 가져오기 박병일 2012.01.25 13788
956 dbExpress 의 SQLConnection 에서 트랜젝션 처리하기 박병일 2012.02.08 13731


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