伙计们,
打开单个图像,缩放到多种尺寸并将每个缩放尺寸保存到变量的最佳方法是什么?
目前,我正在打开多个缩放和排列的图像,以便将最终图片复制并保存到 Powerpoint。 但是,根据导入的图像类型,需要两种不同的排列方式(附加脚本中的“coltwin_1”和“coltwin_2”)。 一种排列将具有不同的比例值。
例如,我尝试缩放打开的图像并保存为“col1”,该图像将位于“coltwin_1. 第二个缩放变量是“coltwin_2”排列中使用的“col1x”。 但是,当使用 col1x = col1 << Scale(1.5) 时,col1 的比例会通过两种布局传播。
解决此问题的最佳和最干净的方法是什么?
非常感谢,
尼尔
col1 = Open(SD1 || samplename2 || "_a1_16col_filt.jpg", jpg);
col1 << Scale(.16);
col1x = col1 << Scale(1.5);
col2 = Open(SD1 || samplename2 || "_a2_16col_filt.jpg", jpg);
col2 << Scale(.16);
col2x = col2 << Scale(1.5);
coltwin_1 = Expr( // For surface orientation
V List Box(
H List Box(
sem1,
col1 ,
LT1 ,
),
sp1 = Spacer Box( size(0, 50)),
H List Box(
sem2,
col2,
LT2,
),
sp2 = Spacer Box( size(0, 50)),
H List Box(
sem3,
col3,
LT3
)
)
);
coltwin_2 = Expr( // For Xsec orientation
V List Box(
H List Box(sem1,
V Splitter Box(
col1x,
LT1x
),
),
sp1 = Spacer Box( size(0, 50)),
H List Box(sem2,
V Splitter Box(
col2x,
LT2x
),
),
sp2 = Spacer Box( size(0, 50)),
H List Box(sem3,
V Splitter Box(
col3x,
LT3x
),
)
)
);
杰出的!
完美运行。
非常感谢,
其中包括如何正确使用“新图像”功能。 附加的代码对我有用。
尼尔
col1 = Open(SD1 || samplename2 || "_a1_16col_filt.jpg", jpg);
col1 << Scale(.16);
col1x = New Image(col1);
col1x << Scale(2.2);
似乎您将不得不创建像 col1x = New Image(col1); 这样的新图像
Names Default To Here(1);
img = Open("$SAMPLE_IMAGES/tile.jpg", jpg);
Show(img << get size());
img << scale(0.5);
Show(img << get size());
img2 = img;
img2 << Scale(2);
Show(img << get size(), img2 << get size());
img3 = New Image(img);
img3 << scale(3);
Show(img << get size(), img3 << get size, img2 << get size());非常感谢您的意见。
我尝试了您建议的初始方法,但仍然遇到次要比例因子仍然影响初始 col1 变量的情况。 我附上了一张图表,显示了评论最后一行之前/之后发生的事情。

绝对不确定这是否是最好的甚至是好的方法,但是...... 我认为使用 << Scale() 不会返回返回新图像,只会更新旧图像。 我认为最简单的解决方案是创建 col1 到 colx 的副本,然后对其进行缩放
col1 = Open(SD1 || samplename2 || "_a1_16col_filt.jpg", jpg);
col1 << Scale(.16);
col1x = col1;
col1x << Scale(1.5);
这应该让您首先将原始图像缩放到 0.16,然后将原始图像首先缩放到 0.16,然后再缩放到 1.5(您最好在 0.16 缩放之前创建副本,然后缩放到正确的值) .