2011-12-11 27 views
6

Tôi đã gặp sự cố khi sắp xếp chính xác các yếu tố đồ họa. Dưới đây là một ví dụ:Làm cách nào để kiểm soát kích thước hình ảnh và đồ họa?

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

Các vòng tròn đều quy định trong cùng một cách, nhưng hiển thị ở quy mô khác nhau, vì vậy sơ đồ mà cố gắng để hiển thị như thế nào nó hoạt động không phải là rất thỏa đáng. Rõ ràng là một được thu nhỏ để phù hợp với hình ảnh, nhưng tôi không thể thấy lý do tại sao chúng không xuất hiện cùng kích thước. tương tự như GraphicsRow nhưng mang lại cho tôi cùng một vấn đề.

Trả lời

8

Vấn đề xảy ra vì trong màn hình, đĩa được sử dụng trong mặt nạ có đường kính bằng với chiều cao của hình ảnh, trong khi đĩa độc lập có đường kính bằng với chiều rộng của hình ảnh. Bạn có thể sửa lỗi này bằng cách chỉ định kích thước của đĩa một cách rõ ràng.

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

Trông đơn giản khi bạn làm điều đó. Cảm ơn ... – cormullion

5

Có đệm xung quanh những hình ảnh và không có xung quanh đĩa màu đen. Khi biết được tỉ lệ của hình ảnh nhập khẩu (lấy từ ImageDimensions), và bằng cách thiết lập một kích thước cụ thể cho GraphicsRow và cho đĩa màu đen, bạn có thể kiểm soát sự xuất hiện:

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

Xin chào Mike, rất vui được gặp bạn ở đây. Chào mừng bạn đến với Stack Overflow! – Simon

+0

Điều đó hoạt động tốt, cảm ơn! – cormullion

6

Một lựa chọn khác sẽ được quấn hình ảnh trong một Pane với chiều rộng tự động và chiều cao cố định, ví dụ

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

scaled to have the dame height

+0

Cảm ơn, không biết về Pane ...! – cormullion

+0

Điều này có vẻ vô tận! –

Các vấn đề liên quan