2011-12-11 18 views
6

Mam problemy z porządkowaniem elementów graficznych poprawnie. Oto przykład:Jak kontrolować rozmiar obrazów i grafiki?

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

Okręgi są zarówno określone w taki sam sposób, ale pokazują w różnych skalach, więc schemat, który próbuje pokazać, jak to działa, nie jest bardzo zadowalający. Oczywiście jeden jest skalowany, aby dopasować obraz, ale nie rozumiem, dlaczego nie mają tego samego rozmiaru. jest podobna do GraphicsRow, ale daje mi ten sam problem.

Odpowiedz

8

Problem występuje, ponieważ dysk używany w masce ma średnicę równą wysokości obrazu, podczas gdy dysk autonomiczny ma średnicę równą szerokości obrazu. Możesz to poprawić, określając wyraźnie rozmiar dysku.

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

Wygląda proste, kiedy to zrobić. Dzięki ... – cormullion

5

Jest wyściółka wokół obrazów i nikt wokół czarnej tarczy. Znając proporcje importowanego obrazu (otrzymany z ImageDimensions) i ustawiając konkretny rozmiar GraphicsRow i na czarnej tarczy, można kontrolować wygląd:

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

Cześć Mike, miło cię tu widzieć. Witamy w Stack Overflow! – Simon

+0

To działa ładnie, dzięki! – cormullion

6

Innym rozwiązaniem byłoby owinąć obrazy w formacie Pane z automatyczną szerokością i stałą wysokością, np

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

scaled to have the dame height

+0

Dzięki, nie wiedziałem o Pane ...! – cormullion

+0

To wygląda tak nieskazitelnie! –

Powiązane problemy