学.net没有多久现在想用c#实现以下两个步骤1、从本地磁盘中将以图片装入byte数组中;
2、从byte数组中读出图片并在pictuerbox中显示出来。请问如何实现啊???
2、从byte数组中读出图片并在pictuerbox中显示出来。请问如何实现啊???
解决方案 »
- DataGridView不绑定数据源情况下的 行Modified值不变化,跪求解决方案
- ASP.NET 如何在服务器端获取 GridView 单元格里面 textbox 的文本
- 我见过最牛X的面试者!!!
- 在dataGridView中把记录修改完成后,如何将dataGridView中的纪录显示在一个新建的没有数据的datatable中呢?为什么下面的方法不行呢:
- 如何保证读写文件不出错?
- Remoting 客户端激活模式,调试成功,但用配置文件,就出错?
- 自定义Web控件属性(FileName),如何实现选取一个文件的路径?(结贴王在线)
- winform自定义控件事件的相关问题,在线等待。。。。。!!!!!!!
- 收藏名录
- !--------------求一段简单的代码!----------!
- 此字符串未被识别为有效的DateTime
- 我的SQL语句写的对吗?为什么总提示我FROM子句语法错误??
如果你的图像数据不是保存在数据库中,而是直接放在图像文件中,建议最好是使用loadpicture(如果能够的话)加载到比如stdPicture或控件pictureBox等对象中,再行处理,这样你就省了极有挑战性的直接与各种图像文件编码规则打交道的一步。尔后可以用GetBitmapBit从加载了图像的对象中获取全部图像部份的信息,处理后用SetBitmapBits放回到图形对象中去。当然对对象中图像也可用setpixel或pset(较慢)等办法操作各个像素。
this.pictureBox1.Image=tmpBmp;
this.pictureBox1.Size=tmpBmp.Size;
LoveCleverDog(聪明的狗) 请帮帮忙呀
/// 上传文件到服务器的指定路径下,文件名自动生成
/// 如产生重复,增加#和顺序号避免冲突
/// </summary>
/// <param name="file">上传图片的控件</param>
/// <param name="post_file_url">要保存到数据库字段中的文件名和相对路径,传入时是相对路径,传出时是文件名和相对路径</param>
/// <returns>成功时返回“成功”,失败时返回失败原因</returns>
public string uploadFile(HttpRequest request,HtmlInputFile file,ref string post_file_url)
{
string fileName=file.PostedFile.FileName.Substring (file.PostedFile.FileName.LastIndexOf('\\')+1);//文件名,包括扩展名
string file_name=""; //文件名(包括路径,不包括扩展名)
string result=""; //返回结果字符串
string strPicName="";
int i=0;
int j=0;
try
{
if(file.PostedFile.FileName.ToString().Trim()!="")
{
if(file.PostedFile.ContentLength >2097152)
{
result="上传文件过大!";
return result;
}
System.DateTime dtime=DateTime.Now;
strPicName=dtime.Year.ToString()+dtime.Month.ToString()+dtime.Day.ToString()+dtime.Hour.ToString()+dtime.Minute.ToString()+dtime.Second.ToString()+dtime.Millisecond;
file_name=request.PhysicalApplicationPath+@"tempimage\"+ strPicName; j=fileName.LastIndexOf(".");
System.IO.FileInfo fileInfo=new System.IO.FileInfo(file_name);
if(!fileInfo.Exists )
{
file.PostedFile.SaveAs(file_name+fileName.Substring(j));
post_file_url= @"tempimage\" + strPicName + fileName.Substring(j);
}
else
{
bool file_save=true;
while(file_save)
{
j=fileName.LastIndexOf(".");
fileInfo = new System.IO.FileInfo(file_name+"#"+i.ToString() + fileName.Substring(j));
if(!fileInfo.Exists)
{
file.PostedFile.SaveAs(file_name+"#"+i.ToString()+ fileName.Substring(j));
file_save=false;
post_file_url = @"tempimage\" + strPicName +"#"+i.ToString() + fileName.Substring(j);
}
else
i++;
}
}
}
result="成功";
return result;
}
catch(Exception ex)
{
result="错误:"+ex.Message.ToString()+"文件上传出错,提交失败!";
return result;
}
}这是上传图片得 缩进懒得调了
LoveCleverDog(聪明的狗) 请帮帮忙呀
{
string str="";
try
{
FileStream fs = new FileStream(path,FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] buffer = new byte[fs.Length];
br.Read(buffer,0,buffer.Length);
br.Close();
fs.Close();
str = Convert.ToBase64String(buffer);
}
catch
{
str="";
}
return str; }
string path = this.openFileDialog1.FileName;
Stream file = new StreamReader(path,System.Text.Encoding.Default).BaseStream;
byte[] buffer = new byte[file.Length];
file.Read(buffer,0,buffer.Length);
file.Close();
System.IO.MemoryStream ms = new System.IO.MemoryStream(Photo.Record);
Image im = Image.FromStream(ms,true);
this.label1.Image = im;
ms.Close();
this.pictureBox1.Image = Image.FromFile(@"G:\其它文件\图片\0000.jpg"); ////用流的读出图片
//FileStream f = new FileStream(@"G:\其它文件\图片\0000.jpg", FileMode.Open);
//byte[] b = new byte[f.Length]; //这步和下面那步有点多余
//f.Read(b, 0, b.Length); //保存到数组
//this.pictureBox1.Image = Image.FromStream(f); //直接这样就好了
//f.Close();
////按你的要求还要更麻烦
//FileStream f = new FileStream(@"G:\其它文件\图片\0000.jpg", FileMode.Open);
//byte[] b = new byte[f.Length];
//f.Read(b, 0, b.Length);
//f.Close();
////后面要把数组还原回流
//MemoryStream ms = new MemoryStream(); //创建内存流
//ms.Write(b, 0, b.Length); //写入内存流
//this.pictureBox1.Image = Image.FromStream(ms); //显示图片
//ms.Close();