Показать сообщение отдельно
  #1  
Старый 21.06.2018, 21:18
BlacKCheT BlacKCheT вне форума
Прохожий
 
Регистрация: 05.05.2018
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
Сообщение Конвертер изображения

Доброго времени суток, колдуны))) решил добавить в проект фото(фотки клиентов), нашел конвертер, немного переделал, появились конфликты.
Корректировка важная т.к выполняет сохранение изменений.
---------------------------------------------------------------------------------

Код:
procedure TForm7.Button5Click(Sender: TObject);
//var pick: string;
//begin
//DATAModule2.ADOQuery1.Edit;
//If Form7.OpenPictureDialog1.Execute then Form7.DBMemo1.Text:=Form7.OpenPictureDialog1.FileName;
//pick:=Form7.DBMemo1.Text;
//Form7.DBImage1.Picture.LoadFromFile(pick);  //вариант без конвертера
//DATAModule2.ADOQuery1.Post;
//end;

Код:
procedure TForm7.Button5Click(Sender: TObject);
var
  ConverterLoad: TImage;
  ConverterSave: TBitmap;
  ConverterStream: TMemoryStream;   //вариант с конвертером
  pick: string;
begin
  DATAModule2.ADOQuery1.Edit;
  If Form7.OpenPictureDialog1.Execute then
  begin
    Form7.DBMemo1.Text:=Form7.OpenPictureDialog1.FileName;
    pick:=Form7.DBMemo1.Text;
    ConverterSave := TBitmap.Create;
    ConverterSave.Height := 300; // от размера зависит качество
    ConverterSave.Width := 300;
    ConverterLoad := TImage.Create(Self);
    ConverterLoad.Name := 'ImageConverter';
    ConverterLoad.Picture.LoadFromFile(pick);
    ConverterSave.Canvas.StretchDraw(ConverterSave.Canvas.ClipRect,ConverterLoad.Picture.Graphic); // BMP готов
    DBImage1.Picture.Bitmap := ConverterSave;
    ConverterStream := TMemoryStream.Create;
    ConverterSave.SaveToStream(ConverterStream); // изображение в Stream
    TBlobField(DataModule2.ADOQuery1.FieldByName('Фото')).LoadFromStream(ConverterStream);
    ConverterLoad.Free;
    ConverterSave.Free;
    DATAModule2.ADOQuery1.Post;
  end;
end;
Ответить с цитированием