В чем разница между RealImage и IntegerImage?

В чем разница между Realimage и Integerimage в сценарии DM? Я пробую это в моей DM, не нахожу различий.

1 ответ

Решение

Разница такая же, как и у опции "Целое" или "Реальное" изображение при создании нового изображения из меню.

"Реальные" изображения хранят значения в виде чисел с плавающей запятой, т.е. вы можете хранить следующие числа: 1 , 2.3, -0.023, 1.23e12, ...

"Целочисленные" изображения хранят значения в виде целых чисел. Вы можете хранить только такие номера, как: -5, 0, 1234 но без запятых.

Оба типа изображений имеют "ограничения", определяемые объемом памяти, который вы используете на пиксель. (1,2,4 или 8 байт / пиксель).
Для целочисленных изображений память определяет "самое высокое" и "самое низкое" число, которое можно сохранить.

Для реальных изображений память определяет как "наивысшую", так и "наименьшую" экспоненту, а также сколько цифр вы можете сохранить. Вещественное число всегда представляется как x,xxxxx * 10**y, а размер y и количество x определяются объемом используемой памяти.

Обычные изображения-изображения в скрипте по умолчанию имеют размер 4 байта. Следующий скрипт может прояснить ситуацию:

image rImg := RealImage( "R", 4, 10 )
image iImg := IntegerImage( "I", 4, 1, 10 )

rImg = icol * 0.25
iImg = icol * 0.25

rImg.ShowImage()
iImg.ShowImage()

Оба изображения получают значения 0, 0,25, 0,50, 0,75, 1,00,..., присвоенные icol * 0.25, но поскольку целочисленное изображение может хранить только целочисленные значения, они усекаются в случае iImg.

Также полезно сравнить с диалоговым окном, которое вы получаете, когда используете меню "Файл / Новый...", которое показывает связь между типом изображения, байтами и диапазонами допустимых значений в разделе "Новый тип данных":

File / New

Другие вопросы по тегам