ฉันกำลังโหลดไฟล์บิตแมปขนาด 50x50 จากนั้นเติมสีสุ่มสีเดียวเมื่อเริ่มต้นโปรแกรม จากนั้นให้บันทึกผลลัพธ์ลงในไฟล์เดียวกันและกำหนดให้กับ PictureBox แต่ประสบปัญหาในการเขียนไฟล์และ "เกิดข้อผิดพลาดทั่วไปใน GDI+" เป็นต้น
จะทำอย่างไรให้ถูกต้องเพื่อให้สามารถทำซ้ำได้อย่างต่อเนื่อง (เปิดบิตแมป ระบายสีแบบสุ่ม บันทึกและกำหนดให้กับ picturebox.Image)
แก้ไข:
public Form1 ( )
{
InitializeComponent ( );
//Bitmap bmp = new Bitmap ( 50, 50 );
Bitmap bmp = new Bitmap ( @"C:\temp\pretty.bmp" );
Graphics g = Graphics.FromImage ( bmp );
Brush b = new SolidBrush ( Color.Red );
g.FillRectangle ( b, 0, 0, 49, 49 );
bmp.Save ( @"C:\temp\pretty.bmp" );
this.pictureBox1.Image = ( Image ) bmp.Clone ( );
//bmp.Dispose ( );
}
Graphics
จัดการบิตแมปหลังจากการเรียกไปที่Graphics.FromImage
หรือไม่ หากเป็นเช่นนั้น บางทีคุณอาจต้องโต้ตอบกับบิตแมปผ่านออบเจ็กต์Graphics
หรือถอดบิตแมปออกจากออบเจ็กต์กราฟิกก่อนที่จะลองSave
หรือDispose
- person Scott Smith   schedule 25.02.2010