如何控制图像和图形的大小?

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但给了我同样的问题.

abc*_*bcd 9

出现此问题是因为在显示器中,掩码中使用的磁盘的直径等于图像的高度,而独立磁盘的直径等于图像的宽度.您可以通过明确指定磁盘大小来更正此问题.

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)

在此输入图像描述


Hei*_*ike 8

另一种选择是将图像包裹在Pane具有自动宽度和固定高度的图像中,例如

Row[Pane[#, {Automatic, 200}] & /@ 
 {im1, ImageAdd[im1, Graphics[Disk[]]], Graphics[Disk[]]}] 
Run Code Online (Sandbox Code Playgroud)

缩放到了贵妇人的身高


Mik*_*rch 5

图像周围有填充,黑色磁盘周围没有填充.通过了解导入图像的纵横比(从ImageDimensions获得),并通过设置GraphicsRow和黑色磁盘的特定大小,您可以控制外观:

GraphicsRow[{im1, ImageAdd[im1, Graphics[Disk[]]], 
  Graphics[Disk[], ImageSize -> 90, ImagePadding -> 15]}, 
 ImageSize -> 360, Spacings -> 0]
Run Code Online (Sandbox Code Playgroud)