C#中关于图象的问题

王朝c#·作者佚名  2006-11-24
宽屏版  字体: |||超大  

我在开发一系统时,将图片(任意格式的图片)保存到库,从库中读出数据到DATASET,然后将DATASET中的图片,在新的窗口中显示,该窗口有一个保存按钮,按下保存到本地DISK中,库中任意格式的图片,都转存成JPG文件!

试了很多很多的方式,最后通过SYSTEM>DRAWING.BITMAP对象完成,前后试了15种方案,到第16次时,成功

CODE见下:(希望给碰到同样问题的朋友一个参考)

//省略读库的程序,直接使用已经被填充的DATASET对象中的DATAROW对象

DataRow dRow = dRows[0];

byte[] imgByte = (byte[])dRow["pic_ole"]; //pic_ole为字段名称

MemoryStream ms = new MemoryStream(imgByte);

Bitmap bmp = new Bitmap(ms);

PicView.Image = (Image)bmp; //PicView为PictureBox控件

//此时图片已经读出来了,然后将PictureBox添加点击事件,将图片传递给另一个窗体的PictureBox对象中去,然后按下给FORM上的SAVE按钮,

//主要是这里,试了很多次,总算成功

FileStream fs = finfo.Create(); //finfo是FileInfo对象,已经使用NEW初始化过

Bitmap bmp = new Bitmap(pictureBox1.Image);//pictureBox1为本窗体上的PictureBox控件

PictureBox pic = new PictureBox();//如果直接使用pictureBox1.Image对象就发生GDI+发生一般性错误

pic.Image = Image.FromHbitmap(bmp.GetHbitmap());//使用BMP的句柄,给一个新的PictureBox控件

Image img = pic.Image;

img.Save(fs,ImageFormat.Jpeg);//如果这里使用文件名,还是发生GDI+发生一般性错误,不知道啥原因

pic.Dispose();

我的主页:itbaby.jss.cn

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有