Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Работа с изображениями в Delphi XE5: сохранение JPG и PNG на iOS и Android

Delphi , Графика и Игры , Изображения

Введение: При разработке приложений под iOS и Android с использованием Delphi XE5, важно уметь работать с изображениями, включая их загрузку, обработку и сохранение на устройстве пользователя. В данной статье мы рассмотрим, как сохранить изображения в форматах JPG и PNG на устройствах iOS и Android, используя возможности Delphi XE5.

Проблема: Разработчик столкнулся с необходимостью сохранения изображений на устройство пользователя после их загрузки из интернета, чтобы избежать многократной загрузки. Понимание того, что на iOS можно сохранять только в форматах JPG или PNG, приводит к вопросу о том, как конвертировать изображение в формате Bitmap из Delphi в JPG или PNG. Также отмечается, что в VCL TPNGImages поддерживаются, но не в FMX. При попытке сохранения изображения с помощью SomeBitmap.bitmap.SaveToFile(...) ничего не происходит и не выбрасывается исключение.

Решение: Использование метода TBitmap.SaveToFile работает корректно (по крайней мере на Android), если указать правильное имя и местоположение файла. В случае ошибки, скорее всего, проблема связана с местоположением сохранения файла. Необходимо использовать функции из TPath, такие как TPath.GetPicturesPath для Android и TPath.GetDocumentsPath для iOS, которые возвращают корректные пути для сохранения файлов.

Пример кода для создания пути сохранения:

Dest := TPath.Combine(TPath.GetDocumentsPath, 'mydir');
Dest := TPath.Combine(Dest, 'tests');

Для создания директорий можно использовать TDirectory.CreateDirectory или SysUtils.ForceDirectories.

Конвертация изображения в PNG или JPG может быть выполнена с помощью класса TBitmapCodecManager, который поддерживает различные форматы, включая JPEG, TIFF, GIF, PNG и BMP.

Пример конвертации изображения в PNG на Windows:

procedure TForm1.FormShow(Sender: TObject);
var
  BmpIn, BmpOut: TBitmap;
  SaveParams: TBitmapCodecSaveParams;
begin
  BmpIn := TBitmap.Create;
  try
    BmpIn.LoadFromFile('E:\TempFiles\ScreenCaps\CheckBoxChecked.bmp');

    BmpOut := TBitmap.Create;
    try
      BmpOut.Assign(BmpIn);
      SaveParams.Quality := 100;
      BmpOut.SaveToFile('E:\TempFiles\ScreenCaps\CheckBoxChecked.png', @SaveParams);
    finally
      BmpOut.Free;
    end;
  finally
    BmpIn.Free;
  end;
end;

Заключение: Для успешного сохранения изображений в форматах JPG и PNG на устройствах iOS и Android при разработке с использованием Delphi XE5, необходимо правильно указать местоположение сохранения файла и использовать соответствующие функции для конвертации форматов изображений.

Создано по материалам из источника по ссылке.

Разработчик сталкивается с задачей сохранения изображений в форматах JPG и PNG на устройствах iOS и Android, используя Delphi XE5, и требуется конвертация изображений из формата Bitmap, а также корректное указание местоположения для сохранения


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Изображения ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-03-11 10:39:38/0.0014219284057617/0