Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Заголовок TGA-файла

Советы » Файлы » Заголовок TGA-файла

OK, берем книжку 'Graphics File Formats, 2nd Edition' (форматы графических файлов) авторов David C. Kay & John R. Levine, и читаем формат заголовка файла для хранения изображения формата Targa.

Описание заголовка файла для изображения формата Targa

Смещение

Длина (в байтах)

Описание

0

1 Длина ID-поля (ID Field Length)
1

1 Тип цветовой карты (Color-map Type)
2

1 Тип изображения (Image Type)
      Информация о специфике цветовой карты (Color-map-specific Info)

3

2 Первое включение цветовой карты (First Color-map Entry)
5

2 Длина цветовой карты (Color-map Length)
7

1 Размер цветовой карты (Color-map Entry Size)
      Информация о специфике изображения (Image-specific Info)

8

2 Горизонтальная координата начала изображения (Image X Origin)
10

2 Вертикальная координата начала изображения (Image Y Origin)
12

2 Ширина изображения (Image Width)
14

2 Высота изображения (Image Height)
16

1 Бит на пиксел (Bits-Per-Pixel)
17

1 Биты дескриптора изображения (Image-Descriptor Bits)

Для изображений с разрешением True-color значение типа цветовой карты должно равняться нулю, в остальных случаях единице. В случае, когда цветовая карта присутствует, ее размер должен равняться значению 15, 16, 24 или 32. Для значений 15 и 16 каждая цветовая карта при загрузке использует 2 байта в формате:

 

Верхний байт    Нижний байт
A RRRRR GG      GGG BBBBB  

где бит 'A' устанавливается в 0 для 15-битных цветовых величин. 24-битный размер карты хранится как три байта в следующем порядке: (B)lue (синий), (G)reen (зеленый), и (R)ed (красный). 32-битный размер цветовой карты использует четыре байта, ее порядок такой: (B)lue (синий), (G)reen (зеленый), (R)ed (красный) и значение атрибута - (A)ttribute.

Наконец, код, хранящий тип изображения (Image Type) должен содержать одно из следующих значений:

 

Код             Описание
----            -----------
0               Изображение отсутствует
1               Цветовая карта, без компрессии
2               True-color, без компрессии
3               Черно-белое, без компрессии
9               Цветовая карта, RLE-компрессия
10              True-color, RLE-компрессия
11              Черно-белое, RLE-компрессия

Горизонтальная и вертикальная координата начала изображения (Image X & Y Origins) и размеры изображения (Image Width & Height) разъяснений не требуют. Бит на пиксел (Bits-Per-Pixel) обозначает количество битов, содержащихся в точке изображения и может быть равен значению 8, 16, 24, и 32.

Биыт дескриптора изображения (The Image Descriptor bytes) содержит несколько полей битов, которые содержат следующую информацию:

 

Биты            Описание
----            -----------
0-3             Биты атрибутов (описаны ниже)
4               Ориентация Слева-на-Право 0=Л/П 1=П/Л
5               Ориентация Вехр/Низ 0=Н/В 1=В/Н
6-7             Чередование линий 00H=Нет, 40H=2 линии, 80H=4 линии

Биты атрибутов используются для определения атрибутов цветов в цветовой карте или true-color пикселах. 0 - alpha-данные (alpha-канал) отсутствуют, 1 - игнорирование или неопределено, 2 - не определено, но должно быть сохранено, 3 - наличие alpha-данных и 4 - информация о пикселе уже была умножена на alpha-величину.

Файлы версии Targa 2.0 также имеют файловый колонтитул, который может содержать дополнительное изображение или комментарии. Эти файлы всегда заканчиваются строкой-терминатором 'TRUEVISION-TARGA.'. Так, если ваше Targa-изображение заканчивается значением 'TRUEVISION-TARGA.' + 00H, то вы можете извлечь восемь байтов до строки, чтобы найти начало расширенной области и месторасположение каталога сборки данного файла. Обычно файловый колонтитул версии 2.0 имеет следующий формат:

Формат файлового колонтитула Targa версии 2.0

Байт

Длина

Описание

0

4 32-битное смещение расширенной области
4

4 32-битное смещение каталога сборки
8

17 TRUEVISION-TARGA.
25

1 Двоичный ноль ($0)

Я не собираюсь давать полные описания каталога сборки и области расширения. Вместо этого я приведу описание "почтовой марки", которая может содержаться в формате Targa V2.0. Данная "марка"-иконка должна иметь размеры 64 X 64 пикселей, представляет собой уменьшенный образ изображения, может включаться в файл по желанию компоновщика и не является обязательной.

Область расширения

Смещение

Длина

Описание

0

2 Размер области расширения (должна быть 495)
2

41 Имя автора
43

81 Авторские комментарии
124

81 Авторские комментарии
205

81 Авторские комментарии
286

81 Авторские комментарии
367

2 Месяц создания
369

2 День создания
371

2 Год создания
...

...

...

482

4 Смещение в файле таблицы цветовой коррекции
486

4 Смещение в файле изображения "почтовой марки"
490

4 Смещение в файле таблицы чередования линий
494

1 Байты атрибутов

Данная "почтовая марка", при наличии, может быть использована вами непосредственно. Она хранится в виде несжатого изоюражения в том же цветовом формате (цветовой карте или True-color), как и исходное изображение.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com