提交记录修改UI/Librays/Image/Imager.cs+46 −24看文件
| @@ -17,42 +17,64 @@ namespace Core.Librarys.Image | ||
| 17 | 17 | { |
| 18 | 18 | public static BitmapImage Load(string filePath) |
| 19 | 19 | { |
| 20 | 删除: if (filePath == null) | |
| 20 | 新增: try | |
| 21 | 21 | { |
| 22 | 删除: return null; | |
| 23 | 删除: } | |
| 22 | 新增: if (filePath == null) | |
| 23 | 新增: { | |
| 24 | 新增: return null; | |
| 25 | 新增: } | |
| 24 | 26 | |
| 25 | 删除: var bitmap = new BitmapImage(); | |
| 26 | 删除: bitmap.BeginInit(); | |
| 27 | 删除: if (filePath.IndexOf("pack://") != -1) | |
| 28 | 删除: { | |
| 29 | 删除: StreamResourceInfo info = Application.GetResourceStream(new Uri(filePath, UriKind.RelativeOrAbsolute)); | |
| 30 | 删除: using (var st = info.Stream) | |
| 27 | 新增: var bitmap = new BitmapImage(); | |
| 28 | 新增: bitmap.BeginInit(); | |
| 29 | 新增: if (filePath.IndexOf("pack://") != -1) | |
| 31 | 30 | { |
| 32 | 删除: bitmap.StreamSource = st; | |
| 33 | 删除: bitmap.EndInit(); | |
| 34 | 删除: bitmap.Freeze(); | |
| 31 | 新增: StreamResourceInfo info = Application.GetResourceStream(new Uri(filePath, UriKind.RelativeOrAbsolute)); | |
| 32 | 新增: using (var st = info.Stream) | |
| 33 | 新增: { | |
| 34 | 新增: bitmap.StreamSource = st; | |
| 35 | 新增: bitmap.EndInit(); | |
| 36 | 新增: bitmap.Freeze(); | |
| 37 | 新增: } | |
| 35 | 38 | } |
| 36 | 删除: } | |
| 37 | 删除: else | |
| 38 | 删除: { | |
| 39 | 删除: if (!File.Exists(filePath)) | |
| 39 | 新增: else | |
| 40 | 40 | { |
| 41 | 删除: return null; | |
| 41 | 新增: if (!File.Exists(filePath)) | |
| 42 | 新增: { | |
| 43 | 新增: return null; | |
| 44 | 新增: } | |
| 45 | 新增: byte[] imageData; | |
| 46 | 新增: using (var fileStream = new FileStream(@filePath, FileMode.Open, FileAccess.Read)) | |
| 47 | 新增: | |
| 48 | 新增: using (var binaryReader = new BinaryReader(fileStream)) | |
| 49 | 新增: { | |
| 50 | 新增: imageData = binaryReader.ReadBytes((int)fileStream.Length); | |
| 51 | 新增: bitmap.StreamSource = new MemoryStream(imageData); | |
| 52 | 新增: bitmap.EndInit(); | |
| 53 | 新增: bitmap.Freeze(); | |
| 54 | 新增: } | |
| 42 | 55 | } |
| 43 | 删除: byte[] imageData; | |
| 44 | 删除: using (var fileStream = new FileStream(@filePath, FileMode.Open, FileAccess.Read)) | |
| 45 | 56 | |
| 46 | 删除: using (var binaryReader = new BinaryReader(fileStream)) | |
| 57 | 新增: return bitmap; | |
| 58 | 新增: } | |
| 59 | 新增: catch (Exception ec) | |
| 60 | 新增: { | |
| 61 | 新增: // 无法处理时返回默认图标 | |
| 62 | 新增: | |
| 63 | 新增: var bitmap = new BitmapImage(); | |
| 64 | 新增: bitmap.BeginInit(); | |
| 65 | 新增: | |
| 66 | 新增: StreamResourceInfo info = Application.GetResourceStream(new Uri("pack://application:,,,/Tai;component/Resources/Icons/defaultIcon.png", UriKind.RelativeOrAbsolute)); | |
| 67 | 新增: using (var st = info.Stream) | |
| 47 | 68 | { |
| 48 | 删除: imageData = binaryReader.ReadBytes((int)fileStream.Length); | |
| 49 | 删除: bitmap.StreamSource = new MemoryStream(imageData); | |
| 69 | 新增: bitmap.StreamSource = st; | |
| 50 | 70 | bitmap.EndInit(); |
| 51 | 71 | bitmap.Freeze(); |
| 52 | 72 | } |
| 53 | 删除: } | |
| 54 | 73 | |
| 55 | 删除: return bitmap; | |
| 74 | 新增: Logger.Error(ec.Message); | |
| 75 | 新增: | |
| 76 | 新增: return bitmap; | |
| 77 | 新增: } | |
| 56 | 78 | } |
| 57 | 79 | } |
| 58 | 80 | } |

