2012-09-28 29 views
22

C# içinde görüntü ölçekleme ile ilgili bir sorunum var.image Resim kutusunda ölçekleme

Resimli bir Kutu var Size: e.g. width = 800px height = O resim kutunun içine farklı görüntüleri yükleme am 600px

, küçük olanlar (400x400) ve büyük olanlar onlar sığmayan eğer

Resimlerim resized alıyorsanız (800+ x 600 +) Kutu. Ancak, her zaman MAX genişliğine ve PictureBox'un yüksekliğine yeniden boyutlandırılırlar. Dolayısıyla, en boy oranı olan imha edildi.

Sorun tanımlamak/düzeltmek için herhangi biri yardımcı olabilir mi?

Sınıflar (açıklanır)

Form1.cs

ImageHandling.cs

ImageUtilities.cs

Örnekler:

sorun 1: My Sürüm
enter image description here

enter image description here

Orijinal Kaynak vs Sorun 2:
Benim Sürüm
enter image description here

vs Orijinal Kaynak
enter image description here

ben istiyorum nasıl

Çözüm PictureBox mülkiyet ve görüntünün boyutu artırılabilir veya boyut oranını koruyarak PictureBox uyacak şekilde azalacağı
enter image description here

cevap

46
this.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom; 

Seti. Daha fazla bilgi için

: http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode.aspx

+1

Artık sayesinde çalışır! Yeniden boyutlandırma yöntemimi kaldırdım ve işe yaradı. AMA resimlerimden daha küçükse resimlerim orijinal boyutta değil. Herhangi bir fikir? – pila

+0

, ne gerekiyorsa görüntüyü yalnızca resim kutusundan daha büyükse yeniden boyutlandırmak mı? ve daha küçükse boyutu koru? –

+0

Yüklemek istediğim resim resim kutusundan daha küçük olduğunda, SizeMode'un söylediği gibi "yakınlaştırılmış", ancak yakınlaştırmak istemiyorum. En boy oranını tutarak orijinal boyutta görüntülemek istiyorum. – pila