В чем разница между реализацией и Integerimage в сценарии DM? Я пробую это в своем DM, а не обнаруживаю различия.В чем разница между RealImage и IntegerImage?
ответ
Разница совпадает с опцией «Целое» или «Реальное» изображение при создании нового изображения из меню.
ценность магазин «Реал» изображения как числа с плавающей точкой, то есть вы можете хранить следующие номера: 1 , 2.3, -0.023, 1.23e12, ...
значение изображения магазин «Integer», как, ну, целые. Вы можете хранить только цифры: -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.
Также полезно сравнить с диалогом, который вы получаете при использовании меню «Файл/Новый ...», который показывает соединение между типом изображения, байтами и допустимыми диапазонами значений в разделе «Новый тип данных»: