gdi错误:GDI+中发生一般性错误的解决方法来源: 发布时间:星期四, 2009年2月12日 浏览:259次 评论:0
有这么 ![]() ![]() ![]() ![]() ![]() ![]() public ![]() ![]() ![]() ![]() ![]() { try { ![]() ![]() { using (MemoryStream ms = ![]() ![]() { Image ![]() ms.Close ![]() ![]() ![]() } } ![]() } catch {} } 外部是这样 ![]() ![]() try { pbox_图片1.Image = ImageByteConvert. ![]() ![]() ![]() } catch { } pbox_图片2.Image = null; try { pbox_图片2.Image = ImageByteConvert. ![]() ![]() ![]() } catch { } 数据库中有两条记录 ![]() ![]() ![]() ![]() ![]() try { pbox_图片1.Image = ImageByteConvert. ![]() ![]() ![]() } catch { } 就会出现这样 ![]() 以上代码 ![]() ![]() Form_Load(object sender, EventArgs e) { ... ... ... } 执行完毕后就会引发“GDI+中发生 ![]() ![]() 然而不执行 try { pbox_图片1.Image = ImageByteConvert. ![]() ![]() ![]() } catch { } ![]() pbox_图片2.Image = null; try { pbox_图片2.Image = ImageByteConvert. ![]() ![]() ![]() } catch { } 就不会出现异常 ![]() ![]() GDI+中发生 ![]() ![]() ![]() by 程晨chengchen.net 我遇到 ![]() 在编写Chem.NET ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 症状 Bitmap 对象或 ![]() ![]() ![]() ![]() ![]() ![]() 替代思路方法 • 创建非索引映像 ![]() • 创建索引映像 ![]() 这两种情况下, 原始 位图 上 ![]() ![]() ![]() ![]() 创建非索引图像 即使原始映像被索引格式中该思路方法要求新图像位于每像素 (超过 8 位 -) -, 非索引像素格式 ![]() ![]() 1. 构造从流、 从内存, 或从文件原始 位图 ![]() 2. 创建新 位图 ![]() ![]() 3. 使用 Graphics.FromImage ![]() ![]() 4. 用于 Graphics.DrawImage ![]() ![]() 5. 用于 Graphics.Dispose ![]() ![]() 6. 用于 Bitmap.Dispose ![]() ![]() 创建索引映像 此解决办法在索引格式创建 ![]() 1. 构造从流、 从内存, 或从文件原始 位图 ![]() 2. 创建新 位图 具有相同 ![]() ![]() 3. 使用 Bitmap.LockBits ![]() ![]() 4. 使用 Marshal.Copy ![]() ![]() ![]() 5. 使用 Bitmap.UnlockBits ![]() ![]() 6. 用于 Bitmap.Dispose ![]() ![]() 由于外国人 ![]() ![]() ![]() ![]() ![]() ![]() ![]() private void ToolStripMenuItem_Click(object sender, EventArgs e) { ![]() ![]() ![]() { //创建 ![]() ![]() ![]() Bitmap bmp = ![]() //新建第 2个bitmap类型 ![]() ![]() ![]() ![]() ![]() ![]() Bitmap bmp2 = ![]() //将第 ![]() Graphics draw = Graphics.FromImage(bmp2); draw.DrawImage(bmp,0,0); pictureBox1.Image = (Image)bmp2 ;//读取bmp2到picturebox FILE = openFileDialog1.FileName; openFileDialog1.Dispose ![]() draw.Dispose ![]() bmp.Dispose ![]() } } 通过以上 ![]() ![]() ![]() ![]() ![]() 将转换 ![]() public ![]() ![]() ![]() ![]() ![]() { try { ![]() ![]() { using (MemoryStream ms = ![]() ![]() { Bitmap Origninal = ![]() Bitmap ![]() ![]() Graphics g = Graphics.FromImage( ![]() g.DrawImage(Origninal, 0, 0); ms.Close ![]() ![]() ![]() } } ![]() } catch { ![]() } } 使用两条记录中任何 ![]() ![]() 0
相关文章读者评论发表评论 |
|