2012-06-06 166 views
12

Tôi muốn viết chương trình sẽ thực hiện thao tác phóng to và thu nhỏ trong C#. Tôi không muốn thay đổi kích thước pictureBox, tôi muốn thay đổi kích cỡ hình ảnh của chính nó. Nhưng tôi không biết mình sẽ làm gì. Bạn có thể giúp?Cách phóng to và thu nhỏ hình ảnh trong C#

Trả lời

21

Một giải pháp là:

  1. Tạo hình ảnh mới của kích thước mong muốn (ví dụ 200% hoặc 50% kích thước ảnh gốc)
  2. Vẽ ảnh gốc để hình ảnh mới sử dụng Graphics.DrawImage(Image, Rectangle);, mà rút ra cho hình ảnh đến hình ảnh mới tại vị trí nhất định với kích thước nhất định
  3. Đặt hình ảnh mới làm nguồn cho các PictureBox

Một cách khác là để cre đơn giản ăn một trường hợp bitmap mới như thế:

Size newSize = new Size((int)(originalBitmap.Width * zoomFactor), (int)(originalBitmap.Height * zoomFactor)); 
Bitmap bmp = new Bitmap(originalBitmap, newSize); 
+0

Đừng quên để thêm thanh cuộn để di chuyển các hình ảnh @PoweRoy – RvdK

+0

là đúng - nhất: đặt 'PictureBox' thành một' ScrollView'. Điều này thật rắc rối. –

+1

@ThorstenDittmar vì vậy cảm ơn bạn bè (: –

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