Prechádzať zdrojové kódy

签名-调整从图片创建签名逻辑,修复路径中包含空格无法成功添加的问题

ZhouJieSheng 1 rok pred
rodič
commit
77175ee7d5

+ 12 - 1
PDF Office/ViewModels/Dialog/SignatureCreateDialogViewModel.cs

@@ -343,7 +343,18 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
             string name = Guid.NewGuid().ToString();
             if (!string.IsNullOrEmpty(path))
             {
-                BitmapImage image = new BitmapImage(new Uri(openFile.FileName));
+                //调整加载图片的方式,从Uri创建,路径中包含空格的图片无法成功添加 例如这个名称的图片:200200_6kb_jpg.jpg
+                // 从文件中创建一个 Image 对象
+                Image img = Image.FromFile(openFile.FileName);
+                // 将 Image 对象转换成 BitmapImage 对象
+                MemoryStream ms = new MemoryStream();
+                img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+                BitmapImage image = new BitmapImage();
+                image.BeginInit();
+                image.CacheOption = BitmapCacheOption.OnLoad;
+                image.StreamSource = ms;
+                image.EndInit();
+
                 double scale = Math.Min((double)600 / image.PixelWidth, (double)600 / image.PixelHeight);
                 scale = Math.Min(scale, 1);
                 BitmapEncoder encoder = new PngBitmapEncoder();