Jump to content
Stas

[TfgBitmap] При сохранении TfgBitmap в файл получаю пустой файл

Recommended Posts

Добрый день

S:=TMemoryStream.Create;
try
  Bitmaps.Bitmaps[1].SaveToStream(S);
  Bitmaps.Bitmaps[1].SaveToFile(TPath.GetTempFileName+'.jpg'); //Файл 0 байт
  S.Position:=0;
  S.SaveToFile(TPath.GetTempFileName+'.jpg');// Файл 4мб
finally
  S.Free;
end;

Внимание вопрос, почему ?

Спасибо

Share this post


Link to post
Share on other sites

Ошибка в библиотеке при определении формата итового файла на основании указанного имени файла.

Фикс в следующей версии.

Временно используйте сохранение через промежуточный стрим.

PS Внимание! При вызове SaveToStream итоговое изображение будет сохранено в формате png, при сохранении SaveToFile изображение будет сохранено в формате согласно указанному расширению файла. Поддерживаемые форматы jpg (jpeg), pngwebp.

Share this post


Link to post
Share on other sites

Спасибо, заметил, подождём 

В 09.01.2020 в 20:53, Viktor Akselrod сказал:

Ошибка в библиотеке при определении формата итового файла на основании указанного имени файла.

Фикс в следующей версии.

Временно используйте сохранение через промежуточный стрим.

PS Внимание! При вызове SaveToStream итоговое изображение будет сохранено в формате png, при сохранении SaveToFile изображение будет сохранено в формате согласно указанному расширению файла. Поддерживаемые форматы jpg (jpeg), pngwebp.

Виктор, а как сейчас нужно называть ресурс типа (image/jpeg) myimage.jpg ?, myimage.jpeg ? Чтобы пока называл правильно.

Share this post


Link to post
Share on other sites

На данный момент не имеет значения как назвать, тк будет сохранено в итоге в png. После фикса -  myimage.jpeg (при условии, что нужен именно jpeg), либо с другим поддерживаемым расширением (тогда будет выполнена автоматическая конвертация).

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Similar Content

    • By Stas
      Здравствуйте, обнаружил неприятную особенность отрисовки текста.
      Охватило меня желание нарисовать текст в круге.
      procedure TFormMain.fgButton1Tap(Sender: TObject); var B:TfgBitmap; Sz:Integer; begin B:=TfgBitmap.Create; Sz:=128; B.Size:=Tsize.Create(Sz,Sz); B.Canvas.Fill.Color:=TAlphaColorRec.Green; B.Canvas.FillCircle(B.Size.cx/2,B.Size.cy/2,B.Size.cx/2); B.Canvas.Font.Size:=Sz/2; B.Canvas.Fill.Color := TAlphaColorRec.Red; B.Canvas.Fill.Kind := TfgBrushKind.Solid; B.Canvas.FillText(B.Bounds,'100',False); TfgAssetsManager.Current.AddBitmap('test',B); fgImage1.ImageName:='test'; end; И показать его на картинке.
      И не получилось
      Спасибо

    • By s.fedotenko@gmail.com
      Здравствуйте.
      Имеем код:
      procedure TFormMain.fgPaintBox1Paint(Sender: TObject; const ACanvas: TfgCanvas); var aBm: TFgBitMap; begin try aBm := TFgBitMap.Create; aBm.Size := Tsize.Create(round(fgPaintBox1.Width), round(fgPaintBox1.Height)); aBm.Canvas.FillColor(TAlphaColorRec.Gray); aBm.Canvas.Stroke.Kind := TfgBrushKind.Solid; aBm.Canvas.Stroke.Color := TAlphaColorRec.Red; aBm.Canvas.Fill.Kind := TfgBrushKind.Solid; aBm.Canvas.Fill.Color := TAlphaColorRec.Yellow; aBm.Canvas.DrawCircle(aBm.Width / 2, aBm.Height / 2, aBm.Width / 2); ACanvas.DrawBitmap(aBm, 0, 0); finally aBm.DisposeOf; aBm := nil; end; end; Скэйл устройства =2.
      получили результат:

      Два вопроса:
      1. на PaintBox битмап выводится с размерами в 2 раза меньше. Насколько я понял это связано со скэйлом устройства, и что бы битмап отобразился на весь PaintBox на экране, нужно задавать физические размеры битмапа в 2 раза (для данного устройства) больше. Где можно узнать скэйл устройства, что бы задать размеры битмапа соответствующие выводу на PaintBox? 
      2. Не очень понятно, почему примитивы на битмапе рисуются со скэйлом устройства?  
    • By s.fedotenko@gmail.com
      Здравствуйте.
      При установке размеров битмапа через свойства .Width и .Height происходит исключение:

       
       
       
       
       
       
       
       
       
       
       
       
       
       
      Через свойство .Size - размеры устанавливаются нормально.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...