上面程序休正一下,贴代码时候搞错
FileStream Page1SubFS=new FileStream(PATH,FileMode.Open,FileAccess.Read,FileShare.Read); //==创建文件流
byte[] FBA=new byte[PageSubSize]; //==定义查找的PAGE的大小数组
Page1SubFS.Seek(PageSubIndex, SeekOrigin.Begin); //==从该PAGE的索引开始SEEK Page1SubFS.Read(FBA,0,PageSubSize); //==通过流,利用IMAGE对象 生成缩略图,通过内存流System.IO.Stream mystream=new System.IO.MemoryStream();
mystream.Write(FBA,0,PageSubSize);
System.Drawing.Image oImg;
oImg=System.Drawing.Image.FromStream(mystream,true,true);
oImg.GetThumbnailImage(1024,768,null, IntPtr.Zero);
MemoryStream MemStream = new MemoryStream();
oImg.Save(MemStream,System.Drawing.Imaging.ImageFormat.Png);
MemStream.WriteTo(Response.OutputStream);
FileStream Page1SubFS=new FileStream(PATH,FileMode.Open,FileAccess.Read,FileShare.Read); //==创建文件流
byte[] FBA=new byte[PageSubSize]; //==定义查找的PAGE的大小数组
Page1SubFS.Seek(PageSubIndex, SeekOrigin.Begin); //==从该PAGE的索引开始SEEK Page1SubFS.Read(FBA,0,PageSubSize); //==通过流,利用IMAGE对象 生成缩略图,通过内存流System.IO.Stream mystream=new System.IO.MemoryStream();
mystream.Write(FBA,0,PageSubSize);
System.Drawing.Image oImg;
oImg=System.Drawing.Image.FromStream(mystream,true,true);
oImg.GetThumbnailImage(1024,768,null, IntPtr.Zero);
MemoryStream MemStream = new MemoryStream();
oImg.Save(MemStream,System.Drawing.Imaging.ImageFormat.Png);
MemStream.WriteTo(Response.OutputStream);
oImg.Save(MemStream,System.Drawing.Imaging.ImageFormat.GIF);
或jpeg就应该很小了
Response.ContentType="image/png"; //==输出图片
Response.OutputStream.Write(FBA,0,PageSubSize);//==通过字节数组输出
我用上面不同过存储流实现读出来的图片文件是正常的20多K而通过缩略图实现。
我只有
1 先通过文件流从文件中读取那部分图片的字节装载进FBA数组
2 再从FBA字节数组读进存储流中。。
3 通过存储流实现图片的缩略
1024*768 ?????能不大么? 这里问题?