图片格式转换
1.图片转换为字节数组
1 /// <summary> 2 /// 将图片以二进制流 3 /// </summary> 4 /// <param name="path"></param> 5 /// <returns></returns> 6 public static byte[] SaveImage(string path) 7 { 8 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存 9 BinaryReader br = new BinaryReader(fs); 10 byte[] imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中 11 return imgBytesIn; 12 }
2.转成想要的格式
1 public static bool Save(byte[] bytes) 2 { 3 try 4 { 5 string NewImageName = DateTime.Now.ToString("yyyyMMdd");//ImageName(CenterId);//获得图片的名字 6 string ImagePath = @"E:/imges/" + NewImageName.ToString() + ".png"; 7 8 MemoryStream ms = new MemoryStream(bytes); 9 10 var bmp = new Bitmap(ms); 11 bmp.Save(ImagePath, ImageFormat.Bmp); 12 //ms.Close(); 13 return true; 14 } 15 catch (Exception ex) 16 { 17 18 throw ex; 19 //return false; 20 } 21 22 }
3.调用
1 static void Main(string[] args) 2 { 3 byte[] bytes = SaveImage(@"E:\imges\chn1.jpg"); 4 bool b = Save(bytes); 5 //Bitmap bitmap = ChangeImgToJpg(bytes); 6 //bool b = SaveJpg(bitmap); 7 if (b) 8 { 9 Console.WriteLine("Yes"); 10 } 11 else 12 { 13 Console.WriteLine("No"); 14 } 15 Console.ReadKey(); 16 }
但是,我在调用Save方法的时候 总会报个错“参数类型错误” ,
后开百度发现,那些图片 是直接从百度下载后,直接改的后缀名,
所以他不是真正的jpg或者png什么的,所以就会发生这个错误
posted on 2022-06-12 22:21 泰坦尼克号上的活龙虾 阅读(66) 评论(0) 收藏 举报