You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用DM-script修改比例尺长度单位?及NewComponent参数疑问

修改ImageDisplay比例尺单位及NewComponent参数说明

一、修改比例尺长度单位为纳米

可以通过DM-script修改比例尺的单位,核心是调整比例尺组件的单位标签与实际长度换算,以下是基于示例脚本的修改方案:

  1. 先获取目标ImageDisplay的比例尺组件(若不存在则新建)
  2. 通过ComponentSetString方法将单位文本设为"nm"
  3. 根据原图像素尺寸(默认单位微米),将比例尺显示长度换算为纳米,同步调整组件长度参数

示例代码片段:

// 假设已获取目标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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:09:51