duvidas sobre inserir imagens em banco de dados
estou usando a seguinte unit converter imagem
unit Converte_Imagens;
interface
uses Graphics, Classes, SysUtils, jpeg, RXGif;
function BmpToJpg(cjImage : TPicture) : TPicture; overload;
function BmpToJpg(const cjImageFileName : string) : TPicture; overload;
function BmpToGif(cjImage : TPicture) : TPicture; overload;
function BmpToGif(const cjImageFileName : string) : TPicture; overload;
function GifToBmp(const cjImageFileName : string) : TPicture;
function JpgToBmp(const cjImageFileName : string) : TPicture;
var
cjBmp : TBitmap;
cjJpg : TJpegImage;
cjGif : TGIFImage;
implementation
function BmpToJpg(cjImage : TPicture) : TPicture;
begin
cjBmp.Assign(cjImage);
cjJpg.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjJpg);
end;
function BmpToJpg(const cjImageFileName : string) : TPicture; overload;
begin
if ExtractFileExt(cjimageFileName) = ´.bmp´ then
begin
cjBmp.LoadFromFile(cjImageFileName);
cjJpg.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjJpg);
end;
end;
function BmpToGif(cjImage : TPicture) : TPicture;
begin
cjBmp.Assign(cjImage);
cjGif.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjGif);
end;
function BmpToGif(const cjImageFileName : string) : TPicture; overload;
begin
if ExtractFileExt(cjimageFileName) = ´.bmp´ then
begin
cjBmp.LoadFromFile(cjImageFileName);
cjJpg.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjJpg);
end;
end;
function GifToBmp(const cjImageFileName : string) : TPicture;
begin
if (ExtractFileExt(cjimageFileName) = ´.gif´) and (FileExists(cjImageFileName)) then
begin
cjGif.LoadFromFile(cjImageFileName);
cjBmp.Assign(cjGif);
result := TPicture.Create;
result.Assign(cjBmp);
end;
end;
function JpgToBmp(const cjImageFileName : string) : TPicture;
begin
if ((ExtractFileExt(cjimageFileName) = ´.jpeg´) or (ExtractFileExt(cjImageFileName) = ´.jpg´)) and (FileExists(cjImageFileName)) then
begin
cjJpg.LoadFromFile(cjImageFileName);
cjBmp.Assign(cjJpg);
cjBmp.Width := cjJpg.Width;
cjBmp.Height := cjJpg.Height;
cjBmp.Canvas.Draw(0,0,cjJpg);
result := TPicture.Create;
result.Assign(cjBmp);
end;
end;
initialization
cjJpg := TJPegImage.Create;
cjBmp := TBitmap.Create;
cjGif := TGIFImage.Create;
finalization
cjJpg.Free;
cjBmp.Free;
cjGif.Free;
end.
e estou usando a seguinte rotina
procedure TForm3.DBImage1Click(Sender: TObject);
var
BMP : TPicture;
begin
BMP := TPicture.Create;
try
if OpenPictureDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
BMP.LoadFromFile(OpenPictureDialog1.FileName);
if (ExtractFileExt(OpenPictureDialog1.FileName) = ´.jpeg´) or (ExtractFileExt(OpenPictureDialog1.FileName) = ´.jpg´) then
BMP:= JpgToBmp(OpenPictureDialog1.FileName);
if (ExtractFileExt(OpenPictureDialog1.FileName) = ´.gif´) then
begin
BMP := GifToBmp(OpenPictureDialog1.FileName);
dm.tbfunc.edit;
dm.tbfuncfoto.Assign(BMP);
end
end;
finally
BMP.Free;
Screen.Cursor := crDefault;
end;
end;
e acontece o seguinte problema ao inserir imagens gif da certo mas ao inserir jpeg, jpg, bmp e outros não dá certo, se alguem souber como inserir todos os tipos de imagem convertendo-as para bmp por favor me ajude .
obs estou usando para ver a imagem o componente dbimage
unit Converte_Imagens;
interface
uses Graphics, Classes, SysUtils, jpeg, RXGif;
function BmpToJpg(cjImage : TPicture) : TPicture; overload;
function BmpToJpg(const cjImageFileName : string) : TPicture; overload;
function BmpToGif(cjImage : TPicture) : TPicture; overload;
function BmpToGif(const cjImageFileName : string) : TPicture; overload;
function GifToBmp(const cjImageFileName : string) : TPicture;
function JpgToBmp(const cjImageFileName : string) : TPicture;
var
cjBmp : TBitmap;
cjJpg : TJpegImage;
cjGif : TGIFImage;
implementation
function BmpToJpg(cjImage : TPicture) : TPicture;
begin
cjBmp.Assign(cjImage);
cjJpg.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjJpg);
end;
function BmpToJpg(const cjImageFileName : string) : TPicture; overload;
begin
if ExtractFileExt(cjimageFileName) = ´.bmp´ then
begin
cjBmp.LoadFromFile(cjImageFileName);
cjJpg.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjJpg);
end;
end;
function BmpToGif(cjImage : TPicture) : TPicture;
begin
cjBmp.Assign(cjImage);
cjGif.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjGif);
end;
function BmpToGif(const cjImageFileName : string) : TPicture; overload;
begin
if ExtractFileExt(cjimageFileName) = ´.bmp´ then
begin
cjBmp.LoadFromFile(cjImageFileName);
cjJpg.Assign(cjBMP);
result := TPicture.Create;
result.Assign(cjJpg);
end;
end;
function GifToBmp(const cjImageFileName : string) : TPicture;
begin
if (ExtractFileExt(cjimageFileName) = ´.gif´) and (FileExists(cjImageFileName)) then
begin
cjGif.LoadFromFile(cjImageFileName);
cjBmp.Assign(cjGif);
result := TPicture.Create;
result.Assign(cjBmp);
end;
end;
function JpgToBmp(const cjImageFileName : string) : TPicture;
begin
if ((ExtractFileExt(cjimageFileName) = ´.jpeg´) or (ExtractFileExt(cjImageFileName) = ´.jpg´)) and (FileExists(cjImageFileName)) then
begin
cjJpg.LoadFromFile(cjImageFileName);
cjBmp.Assign(cjJpg);
cjBmp.Width := cjJpg.Width;
cjBmp.Height := cjJpg.Height;
cjBmp.Canvas.Draw(0,0,cjJpg);
result := TPicture.Create;
result.Assign(cjBmp);
end;
end;
initialization
cjJpg := TJPegImage.Create;
cjBmp := TBitmap.Create;
cjGif := TGIFImage.Create;
finalization
cjJpg.Free;
cjBmp.Free;
cjGif.Free;
end.
e estou usando a seguinte rotina
procedure TForm3.DBImage1Click(Sender: TObject);
var
BMP : TPicture;
begin
BMP := TPicture.Create;
try
if OpenPictureDialog1.Execute then
begin
Screen.Cursor := crHourGlass;
BMP.LoadFromFile(OpenPictureDialog1.FileName);
if (ExtractFileExt(OpenPictureDialog1.FileName) = ´.jpeg´) or (ExtractFileExt(OpenPictureDialog1.FileName) = ´.jpg´) then
BMP:= JpgToBmp(OpenPictureDialog1.FileName);
if (ExtractFileExt(OpenPictureDialog1.FileName) = ´.gif´) then
begin
BMP := GifToBmp(OpenPictureDialog1.FileName);
dm.tbfunc.edit;
dm.tbfuncfoto.Assign(BMP);
end
end;
finally
BMP.Free;
Screen.Cursor := crDefault;
end;
end;
e acontece o seguinte problema ao inserir imagens gif da certo mas ao inserir jpeg, jpg, bmp e outros não dá certo, se alguem souber como inserir todos os tipos de imagem convertendo-as para bmp por favor me ajude .
obs estou usando para ver a imagem o componente dbimage
Fama
Curtidas 0