Получить размер GIF-картинкиDelphi , Графика и Игры , GIFПолучить размер GIF-картинки
Оформил: DeeCo type TImageSize = record Width: Integer; Height: Integer; end; function ReadGIFSize(Stream: TStream): TImageSize; type TGifHeader = record Signature: array [0..5] of Char; Width, Height: Word; end; var Header: TGifHeader; begin FillChar(Header, SizeOf(TGifHeader), #0); Result.Width := -1; Result.Height := -1; with Stream do begin Seek(0, soFromBeginning); ReadBuffer(Header, SizeOf(TGifHeader)); end; if (AnsiUpperCase(Header.Signature) = 'GIF89A') or (AnsiUpperCase(Header.Signature) = 'GIF87A') then begin Result.Width := Header.Width; Result.Height := Header.Height; end; end; procedure TForm1.Button1Click(Sender: TObject); const FileName = 'D:\test.gif'; var fs: TFileStream; gifsize: TImageSize; begin fs := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite); try gifsize := ReadGIFSize(fs); ShowMessage(Format('Breite %d Hцhe %d', [gifsize.Width, gifsize.Height])); finally fs.Free; end; end; Перевод контента на русский язык: Это код Delphi, который читает размер файла GIF-изображения с помощью функции Разбивка кода:
Альтернативное решение: Вместо чтения заголовка GIF вручную можно использовать компонент Например, можно использовать метод
В этом коде создается временный объект Статья описывает функцию ReadGIFSize для чтения размера GIF-картинки из потока и ее применение в приложении Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |