跳到主要内容

github/tai

公开

Tai · Windows 软件与网站使用时长统计。上游 Planshit/Tai 的源码镜像,非灵栈原创;MIT 许可。来源:https://github.com/Planshit/Tai 。本次为手动同步,暂不提供安装包。

提交记录
修改UI/Librays/Image/Imager.cs+46 −24看文件
@@ -17,42 +17,64 @@ namespace Core.Librarys.Image
1717 {
1818 public static BitmapImage Load(string filePath)
1919 {
20删除: if (filePath == null)
20新增: try
2121 {
22删除: return null;
23删除: }
22新增: if (filePath == null)
23新增: {
24新增: return null;
25新增: }
2426
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)
3130 {
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新增: }
3538 }
36删除: }
37删除: else
38删除: {
39删除: if (!File.Exists(filePath))
39新增: else
4040 {
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新增: }
4255 }
43删除: byte[] imageData;
44删除: using (var fileStream = new FileStream(@filePath, FileMode.Open, FileAccess.Read))
4556
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)
4768 {
48删除: imageData = binaryReader.ReadBytes((int)fileStream.Length);
49删除: bitmap.StreamSource = new MemoryStream(imageData);
69新增: bitmap.StreamSource = st;
5070 bitmap.EndInit();
5171 bitmap.Freeze();
5272 }
53删除: }
5473
55删除: return bitmap;
74新增: Logger.Error(ec.Message);
75新增:
76新增: return bitmap;
77新增: }
5678 }
5779 }
5880}