RealImage 和 IntegerImage 有什么区别?

What is difference between RealImage and IntegerImage?

DM脚本中Realimage和Integerimage有什么区别?我在我的 DM 中尝试了这些,没有发现差异。

区别与从菜单创建新图像时的选项 "Integer" 或 "Real" 图像相同。

"Real" 图像将值存储为浮点数,即您可以存储以下数字:1 , 2.3, -0.023, 1.23e12, ...

"Integer" 图像将值存储为整数。您只能存储以下数字:-5, 0, 1234 但不能存储逗号值。

两种类型的图像都 "limits" 由每个像素使用的内存量决定。 (1、2、4 或 8 byte/pixel)。
对于整数图像,内存定义了一个可以存储的 "highest" 和 "lowest" 数量。

对于实像,内存定义了要使用的 "highest" 和 "lowest" 指数,以及可以存储的位数。实数始终表示为 x,xxxxx * 10**y,y 的大小和 x 的数量由您使用的内存量决定。

脚本中的普通 "image" 图像默认为真实 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()

两张图片都获得了由 icol * 0.25 分配的值 0、0.25、0.50、0.75、1.00... iImg.

与使用菜单 "File/New..." 时出现的对话框进行比较也很有用,它显示了 "New Data Type" 部分中图像类型、字节和允许值范围之间的联系: