Q&A

  • bmp->jpg변환후 query를 이용 db에 입력
초급정도의 델피언인데요...

bmp를 jpg로 바꾸는 tip은 많이 보았구요...

또 table을 이용해서 db에 입력하는것도 보았는데 query를 가지고 입력하는

방법은 도저히 모르겠어요...



인명관리 또는 친구 수첩등에 사용하듯이 인사관리를 만드는데 table말고는

jpg image를 table에 넣는 방법이 없나요...



무척 궁금해요...

여기저기 다 다녀보았지만 (해외 싸이트 포함) ...

제 눈이 나쁜것인지 도저히 알길이 없더라고요....



도와 주세요...?



JPG IMAGE를 QUERY 를 이용하여 DB에 넣고 읽는 방법이요...



저의 환경은 아직 DELPHI 3 이고 JPG가 DELPHI 3에서 기본제공된다는

것도 얼마전에 알았거든요....



IMAGE COMPOMENT 에서도 BMP아니면 ERROR가 발생하더라구요..



이 문제도 같이 해결해 주시면 더욱 더 고맙게 생각하겠습니다.



이제 믿을 곳은 여기 KDDG밖에 없어요....



도와 주세요...



빠른 시간내에 부탁드려요...

1  COMMENTS
  • Profile
    구창민 1999.06.25 09:28
    장경석 께서 말씀하시기를...

    > 초급정도의 델피언인데요...

    > bmp를 jpg로 바꾸는 tip은 많이 보았구요...

    > 또 table을 이용해서 db에 입력하는것도 보았는데 query를 가지고 입력하는

    > 방법은 도저히 모르겠어요...

    >

    > 인명관리 또는 친구 수첩등에 사용하듯이 인사관리를 만드는데 table말고는

    > jpg image를 table에 넣는 방법이 없나요...

    >

    > 무척 궁금해요...

    > 여기저기 다 다녀보았지만 (해외 싸이트 포함) ...

    > 제 눈이 나쁜것인지 도저히 알길이 없더라고요....

    >

    > 도와 주세요...?

    >

    > JPG IMAGE를 QUERY 를 이용하여 DB에 넣고 읽는 방법이요...

    >

    > 저의 환경은 아직 DELPHI 3 이고 JPG가 DELPHI 3에서 기본제공된다는

    > 것도 얼마전에 알았거든요....

    >

    > IMAGE COMPOMENT 에서도 BMP아니면 ERROR가 발생하더라구요..

    >

    > 이 문제도 같이 해결해 주시면 더욱 더 고맙게 생각하겠습니다.

    >

    > 이제 믿을 곳은 여기 KDDG밖에 없어요....

    >

    > 도와 주세요...

    >

    > 빠른 시간내에 부탁드려요...



    안녕하세요?

    jpg를 DB에 읽고 쓰는 팁입니다.

    참조하세요.



    unit DbJpeg;



    interface



    uses

    Db, ExtCtrls, Classes, Graphics, Jpeg, SysUtils;



    implementation



    procedure JPEGSaveToDB(BlobField: TBlobField; FileName: String);

    var

    jpg: TJPEGImage;

    bmp: TBitmap;

    mem: TMemoryStream;

    begin

    if LowerCase(ExtractFileExt(FileName)) = '.jpg' then

    begin

    with BlobField do

    begin

    // 아래 DataSet.Edit; 는 저장된 그림을 수정(UPDATE)시 사용하며

    // 신규 등록(INSERT)일때는 DataSet.Insert; 로 바꾸어야 한다

    DataSet.Edit;

    LoadFromFile(FileName);

    DataSet.Post;

    end;

    end

    else if LowerCase(ExtractFileExt(FileName)) = '.bmp' then

    begin

    // 파일이 BMP 이면 먼저 JPEG(JPG) 파일로 바꾼 후 저장한다

    bmp := TBitmap.Create;

    jpg := TJPEGImage.Create;

    mem := TMemoryStream.Create;

    try

    bmp.LoadFromFile(FileName);

    jpg.Assign(bmp);

    jpg.SaveToStream(mem);

    mem.Position := 0;

    with BlobField do begin

    DataSet.Edit;

    LoadFromStream(mem);

    DataSet.Post;

    end;

    finally

    mem.Free;

    jpg.Free;

    bmp.Free;

    end;

    end

    end;



    procedure JPEGLoadFromDB(BlobField: TBlobField; Image: TImage);

    var

    jpg: TJPEGImage;

    mem: TMemoryStream;

    begin

    jpg := TJPEGImage.Create;

    mem := TMemoryStream.Create;

    try

    if BlobField.IsNull then

    Image.Picture := nil

    else begin

    BlobField.SaveToStream(mem);

    mem.Position := 0;

    jpg.LoadFromStream(mem);

    Image.Picture.Graphic := jpg;

    end;

    finally

    mem.Free;

    jpg.Free;

    end;

    end;



    end.