2011-12-11 9 views
6

Non riesco a organizzare correttamente gli elementi grafici. Ecco un esempio:Come controllare la dimensione di immagini e grafica?

im1 = Import["http://upload.wikimedia.org/wikipedia/commons/5/5c/London_2010_Tower_Bridge.jpg"]; 
GraphicsRow[{im1, ImageAdd[im1, Graphics[Disk[]]], Graphics[Disk[]]}] 

example of problems

I cerchi sono specificate sia nello stesso modo, ma mostrano a diverse scale, in modo che il diagramma che tenta di mostrare come funziona non è molto soddisfacente. Ovviamente uno è ridimensionato per abbinare l'immagine, ma non riesco a vedere perché non sembrano della stessa dimensione. è simile a GraphicsRow ma mi dà lo stesso problema.

risposta

8

Il problema si verifica perché nel display, il disco utilizzato nella maschera ha un diametro uguale all'altezza dell'immagine, mentre il disco autonomo ha un diametro uguale alla larghezza dell'immagine. È possibile correggere ciò specificando la dimensione del disco in modo esplicito.

im1 = Import[ 
    "http://upload.wikimedia.org/wikipedia/commons/5/5c/London_2010_\ 
Tower_Bridge.jpg"]; 
disk = Graphics[Disk[], ImageSize -> [email protected]]; 
GraphicsRow[{im1, ImageAdd[im1, disk], disk}, Spacings -> 0, ImageSize -> Full] 

enter image description here

+0

sembra semplice quando lo si fa. Grazie ... – cormullion

5

C'è imbottitura attorno alle immagini e nessuno in tutto il disco nero. Conoscendo il rapporto di aspetto dell'immagine importata (ottenuto da ImageDimensions), e impostando una dimensione specifica per GraphicsRow e per il disco nero, è possibile controllare l'aspetto:

GraphicsRow[{im1, ImageAdd[im1, Graphics[Disk[]]], 
    Graphics[Disk[], ImageSize -> 90, ImagePadding -> 15]}, 
ImageSize -> 360, Spacings -> 0] 
+0

Ciao Mike, piacere di vederti qui. Benvenuto in Stack Overflow! – Simon

+0

Che funziona bene, grazie! – cormullion

6

Un'altra opzione sarebbe quella di avvolgere il immagini in un Pane con larghezza automatica e altezza fissa, ad es

Row[Pane[#, {Automatic, 200}] & /@ 
{im1, ImageAdd[im1, Graphics[Disk[]]], Graphics[Disk[]]}] 

scaled to have the dame height

+0

Grazie, non sapevo di Pane ...! – cormullion

+0

Sembra così immacolato! –

Problemi correlati