Delph7 de Aşağıdaki kod ile sql resmi kaydediyorum fakat bmp olduğu için veritabanını şişiriyor
bunun yerine jpg kaydedip, kaydederken de resmi küçültmek istiyorum nasıl yapabilirim acaba ?
Kod: Tümünü seç
procedure TForm1.btn2Click(Sender: TObject);
var
AStream: TMemoryStream;
begin
if img1.Picture.Graphic = nil
then else
begin
AStream := TMemoryStream.Create;
try
img1.Picture.Graphic.SaveToStream(AStream);
AStream.Position := 0;
PERSONEL_KAYIT.QRY_RESIMLER_DB.Insert;
TBlobField(PERSONEL_KAYIT.QRY_RESIMLER_DB.fieldByName('RESIM')).LoadFromStream(AStream);
QRY_RESIMLER_DB.Post;
finally
AStream.Free;
end;
end;
end;
örnekte yapmışlar ama nasıl uyarlayabileceğimi bilemiyorum
Kod: Tümünü seç
procedure TForm1.btn1Click(Sender: TObject);
var
bmp: TBitmap;
jpg: TJpegImage;
scale: Double;
begin
if opendialog1.execute then
begin
jpg := TJpegImage.Create;
try
jpg.Loadfromfile(opendialog1.filename);
if jpg.Height > jpg.Width then
scale := 50 / jpg.Height
else
scale := 50 / jpg.Width;
bmp := TBitmap.Create;
try
{Create thumbnail bitmap, keep pictures aspect ratio}
bmp.Width := Round(jpg.Width * scale);
bmp.Height:= Round(jpg.Height * scale);
bmp.Canvas.StretchDraw(bmp.Canvas.Cliprect, jpg);
{Draw thumbnail as control}
Self.Canvas.Draw(100, 10, bmp);
{Convert back to JPEG and save to file}
jpg.Assign(bmp);
jpg.SaveToFile(
ChangeFileext(opendialog1.filename, '_thumb.JPG')
);
finally
bmp.free;
end;
finally
jpg.free;
end;
end;
end;
teşekkürler