Перейти к содержанию
  • Регистрация
  • 0
netlink

MemoryStream -> JPEG -> BMP

Вопрос

Коллеги, добрый день!

Есть некий набор байт, который представляет собой пришедший через HTTP поток байт, который внутри JPEG.

  vImagesBytes: TBytes;

Получаю, запихиваю это в MemoryStream

                  vBMPMemoryStream := TMemoryStream.Create;
                try
                  vMemoryStream.WriteData(vImagesBytes, Length(vImagesBytes));
                  vMemoryStream.Seek(0, TSeekOrigin.soBeginning);

 

Вопрос:

как из стрима получить сначала JPEG, в потом конвертнуть его в BMP, чтобы загрузить в TBITMAP?

Или есть более простой путь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0
1 час назад, netlink сказал:

как из стрима получить сначала JPEG, в потом конвертнуть его в BMP, чтобы загрузить в TBITMAP?

Или есть более простой путь?

Вроде в TBitmap можно сразу грузить и bmp и jpg и png

Грузить через Bitmap.LoadFromStream

Изменено пользователем Rusland

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Да. Можно. просто попробовал один раз. Упало. Нашёл проблему в другом.

Инфа из датасета тянулась, а там поле String длиной всего 255 байт. Хотя у меня картинка в base64 длиннее.

Разобрался. Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От Anasazi
      Всем доброго времени суток. Возникла необходимость решить такую задачу: в таблице базы MySQL хранится список изображений и их URL. Необходимо получить этот список массивом. Затем загрузить изображения и поочередно с интервалом показать их в TImage.
      Понимаю, что получить список изображений правильнее при помощи PHP скрипта, но в каком виде скрип должен вернуть данные, чтобы в Delphi получить из них массив не знаю.
      Раньше для получения изображений использовал такую процедуру. Но вопрос, где хранить изображения перед демонстрацией их в TImage? Создавать несколько MemoryStream?
      procedure LoadWebImage(url: string; image: TBitmap);
      var
        idhttp : TNetHTTPClient;
        ms : TMemoryStream;
      begin
       IdHTTP := TNetHTTPClient.Create(nil);
        ms := TMemoryStream.Create;
        try
          idhttp.Get(url, ms);
          ms.Position := 0;
          image.LoadFromStream(ms);
        finally
          ms.Free;
          idhttp.Free;
        end;
      end;
    • От andysova
      Кто-нибудь может подсказать хорошую Delphi- библиотеку или компоненты для чтения EXIF и других метаданных из файлов с изображениями в формате JPG? 
      Те, про которые мне известно, считывают не все, например, нужен GPS
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...