cor*_*ion 8 wolfram-mathematica
我一直无法正确安排图形元素.这是一个例子:
im1 = Import["http://upload.wikimedia.org/wikipedia/commons/5/5c/London_2010_Tower_Bridge.jpg"];
GraphicsRow[{im1, ImageAdd[im1, Graphics[Disk[]]], Graphics[Disk[]]}]
Run Code Online (Sandbox Code Playgroud)

圆圈都以相同的方式指定,但以不同的比例显示,因此试图显示其工作原理的图表并不十分令人满意.显然,一个缩放以匹配图像,但我不明白为什么它们看起来不相同.Row类似于GraphicsRow但给了我同样的问题.
出现此问题是因为在显示器中,掩码中使用的磁盘的直径等于图像的高度,而独立磁盘的直径等于图像的宽度.您可以通过明确指定磁盘大小来更正此问题.
im1 = Import[
"http://upload.wikimedia.org/wikipedia/commons/5/5c/London_2010_\
Tower_Bridge.jpg"];
disk = Graphics[Disk[], ImageSize -> ImageDimensions@im1];
GraphicsRow[{im1, ImageAdd[im1, disk], disk}, Spacings -> 0, ImageSize -> Full]
Run Code Online (Sandbox Code Playgroud)

另一种选择是将图像包裹在Pane具有自动宽度和固定高度的图像中,例如
Row[Pane[#, {Automatic, 200}] & /@
{im1, ImageAdd[im1, Graphics[Disk[]]], Graphics[Disk[]]}]
Run Code Online (Sandbox Code Playgroud)

图像周围有填充,黑色磁盘周围没有填充.通过了解导入图像的纵横比(从ImageDimensions获得),并通过设置GraphicsRow和黑色磁盘的特定大小,您可以控制外观:
GraphicsRow[{im1, ImageAdd[im1, Graphics[Disk[]]],
Graphics[Disk[], ImageSize -> 90, ImagePadding -> 15]},
ImageSize -> 360, Spacings -> 0]
Run Code Online (Sandbox Code Playgroud)