초급정도의 델피언인데요...
bmp를 jpg로 바꾸는 tip은 많이 보았구요...
또 table을 이용해서 db에 입력하는것도 보았는데 query를 가지고 입력하는
방법은 도저히 모르겠어요...
인명관리 또는 친구 수첩등에 사용하듯이 인사관리를 만드는데 table말고는
jpg image를 table에 넣는 방법이 없나요...
무척 궁금해요...
여기저기 다 다녀보았지만 (해외 싸이트 포함) ...
제 눈이 나쁜것인지 도저히 알길이 없더라고요....
도와 주세요...?
JPG IMAGE를 QUERY 를 이용하여 DB에 넣고 읽는 방법이요...
저의 환경은 아직 DELPHI 3 이고 JPG가 DELPHI 3에서 기본제공된다는
것도 얼마전에 알았거든요....
IMAGE COMPOMENT 에서도 BMP아니면 ERROR가 발생하더라구요..
이 문제도 같이 해결해 주시면 더욱 더 고맙게 생각하겠습니다.
이제 믿을 곳은 여기 KDDG밖에 없어요....
도와 주세요...
빠른 시간내에 부탁드려요...
> 초급정도의 델피언인데요...
> 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.