2012-09-28 37 views
22

tôi gặp sự cố với việc chia tỷ lệ hình ảnh trong C#.image Chia tỷ lệ hình ảnh hộp

Tôi có một hộp hình ảnh có kích thước cụ thể: ví dụ: width = 800px height = 600px

Tôi tải hình ảnh khác nhau vào đó hộp hình ảnh, những cái nhỏ (400x400) và những người lớn (800 x 600)

Ảnh của tôi đang nhận được thay đổi kích cỡ nếu họ không phù hợp cái hộp. Nhưng chúng có kích thước luôn được thay đổi kích thước thành chiều rộng và chiều cao tối đa của PictureBox. Vì vậy, tỷ lệ co là bị phá hủy.

Ai đó có thể giúp xác định/khắc phục sự cố không?

Lớp học:

Form1.cs

ImageHandling.cs (chú thích)

ImageUtilities.cs

Ví dụ:

Vấn đề 1: My Version
enter image description here

vs Original Source enter image description here

Vấn đề 2:
Version My
enter image description here

vs Original Source
enter image description here

Làm thế nào tôi muốn nó:

Giải pháp
enter image description here

Trả lời

46
this.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom; 

Set rằng tài sản để PictureBox của bạn và kích thước của hình ảnh sẽ tăng hoặc giảm để phù hợp với PictureBox duy trì tỷ lệ kích thước.

Để biết thêm thông tin: http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode.aspx

+1

Nó hoạt động ngay bây giờ Cảm ơn! Tôi đã xóa phương thức thay đổi kích thước của mình và nó đã hoạt động. NHƯNG hình ảnh của tôi không có kích thước ban đầu nếu chúng nhỏ hơn picturebox. Bất kỳ ý tưởng? – pila

+0

vì vậy, những gì bạn cần là để thay đổi kích thước hình ảnh chỉ khi nó lớn hơn hình tượng? và giữ kích thước nếu nó nhỏ hơn? –

+0

Khi hình ảnh tôi muốn tải nhỏ hơn hộp hình của tôi, nó được "thu nhỏ" như SizeMode nói, nhưng tôi không muốn phóng to nó. tôi muốn hiển thị nó ở kích thước gốc bằng cách giữ tỷ lệ khung hình. – pila

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