如何用DM-script修改比例尺长度单位?及NewComponent参数疑问
修改ImageDisplay比例尺单位及NewComponent参数说明
一、修改比例尺长度单位为纳米
可以通过DM-script修改比例尺的单位,核心是调整比例尺组件的单位标签与实际长度换算,以下是基于示例脚本的修改方案:
- 先获取目标ImageDisplay的比例尺组件(若不存在则新建)
- 通过
ComponentSetString方法将单位文本设为"nm" - 根据原图像素尺寸(默认单位微米),将比例尺显示长度换算为纳米,同步调整组件长度参数
示例代码片段:
// 假设已获取目标ImageDisplay对象disp Component scalebar = disp.ImageGetComponent( kSCALEBAR ) if ( !scalebar.Valid() ) { scalebar = NewComponent( kSCALEBAR, 0, 0, 1, 1 ) disp.ImageAddComponent( scalebar ) } // 获取原图X方向像素尺寸(单位:微米) number pxSize_micron = disp.ImageGetImageDocument().ImageGetCalibration(0).GetXScale() // 换算为纳米单位 number pxSize_nm = pxSize_micron * 1000 // 设置比例尺单位为纳米 scalebar.ComponentSetString( "Unit", "nm" ) // 示例:设置比例尺显示100nm,计算对应的像素长度 number displayLength_nm = 100 number pixelLength = displayLength_nm / pxSize_nm scalebar.ComponentSetNumber( "Length", pixelLength )
二、NewComponent(kSCALEBAR, f1,f2,f3,f4)参数说明
这四个参数是比例尺组件的相对位置与尺寸占比,基于ImageDisplay的显示区域(以0-1为相对范围,0对应区域边缘,1对应对侧边缘):
f1:组件上边缘距离显示区域顶部的相对距离(0=顶部对齐,1=底部对齐)f2:组件左边缘距离显示区域左侧的相对距离(0=左侧对齐,1=右侧对齐)f3:组件下边缘距离显示区域顶部的相对距离(组件相对高度为f3-f1)f4:组件右边缘距离显示区域左侧的相对距离(组件相对宽度为f4-f2)
比如NewComponent(kSCALEBAR,0,0,1,1)表示比例尺占满整个显示区域,实际使用中通常会设置更小范围,如0.8, 0.1, 0.9, 0.3,让比例尺位于显示区域左下角,高度占10%、宽度占20%。
内容的提问来源于stack exchange,提问作者Michael Ngo
相关产品推荐
相关产品推荐

