2012-05-18 74 views
7

Tôi đã sử dụng đoạn mã sau để chuyển đổi các hình ảnh trong một PictureBox vào một Bitmap:Chuyển đổi hình ảnh trong một PictureBox vào một bitmap

bmp = (Bitmap)pictureBox2.Image; 

Nhưng tôi nhận được kết quả như bmp = null. Bất cứ ai có thể cho tôi biết làm thế nào tôi làm điều này?

+3

Đó chỉ có thể xảy ra khi tài sản hình là null. Chỉ định thuộc tính trước. –

+0

nếu Hình ảnh sẽ không có giá trị rỗng, tôi đoán bạn sẽ có ngoại lệ. một đối tượng Hình ảnh không thể được đúc thành một Bitmap, nếu hình ảnh không trực tiếp là một bitmap. – user287107

Trả lời

5

Theo hiểu biết của tôi của bạn đã không được giao tài sản Hình ảnh PictureBox, vì vậy mà nó được trở về null trên loại đúc .

Thuộc tính PictureBox tự động chuyển đổi định dạng Hình ảnh và nếu bạn thấy chú giải công cụ trên thuộc tính Hình ảnh, nó sẽ hiển thị System.Drawing.Bitmap. Kiểm tra hình ảnh của bạn thuộc tính được chỉ định chính xác.

Kiểm tra điều này, nó đang hoạt động ở bên cạnh tôi.

private void button1_Click(object sender, EventArgs e) 
     { 
      Bitmap bmp = (Bitmap)pictureBox1.Image; 
     } 

     private void TestForm12_Load(object sender, EventArgs e) 
     { 
      pictureBox1.Image = Image.FromFile("c:\\url.gif"); 
     } 

/// Sử dụng bitmap Lớp

Bitmap bmp = new Bitmap(pictureBox2.Image); 

Bạn có thể trực tiếp đúc pictureBox2.Image để Bitmap như bạn đang làm và cũng sử dụng các lớp Bitmap để chuyển đổi sang đối tượng lớp Bitmap.

Tham chiếu:Bitmap Constructor (Image).

Bạn có thể tìm thêm nhiều lựa chọn ở đây với Bitmap Class

7
Bitmap bitmap = new Bitmap(pictureBox2.Image) 

http://msdn.microsoft.com/en-us/library/ts25csc8.aspx

+0

Hi Tilak, tôi chỉ áp dụng các mã nhưng nó mang lại cho tôi một lỗi là "Đối tượng tham chiếu không được thiết lập để một thể hiện của một đối tượng" – DjMalaikallan

+0

có bạn kiểm tra pictureBox2.Image cho null – Tilak

2

Tôi nghĩ rằng bạn đang tìm kiếm này:

Bitmap bmp = new Bitmap(pictureBox2.Image) 
Các vấn đề liên quan