Просмотр исходного кода

签名-签名粗细问题处理

zhuyi 1 год назад
Родитель
Сommit
5f3cd39dea

+ 22 - 4
PDF Office/ViewModels/Dialog/SignatureCreateDialogViewModel.cs

@@ -217,8 +217,11 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
                     default:
                         break;
                 }
-                //4.5注释 解决切换颜色后 线条粗细变回3的问题
-                //UpDataToStrokesObject();
+                if (ThicknessListIndex >= 0)
+                {
+                    DrawingAttributeObject.Width = DrawingAttributeObject.Height = Convert.ToDouble(ThicknessList[ThicknessListIndex].Substring(0, 3));
+                    UpDataToStrokesObject();
+                }
             }
         }
 
@@ -305,14 +308,19 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
             RadioButtonIndex = Index;
         }
 
+        /// <summary>
+        /// 更新画板所有内容状态
+        /// </summary>
         private void UpDataToStrokesObject()
         {
             foreach (var item in StrokesObject)
             {
                 item.DrawingAttributes = DrawingAttributeObject.Clone();
             }
-            DrawingAttributeObject.Width = DrawingAttributeObject.Height = 3;
+            DrawingAttributeObject.Width = StrokeWidth;
+            DrawingAttributeObject.Height = StrokeHigh;
         }
+
         private void ClearText()
         {
             InputText = "";
@@ -537,7 +545,17 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
                         }
                         DrawingSaveToPath = FreeHandpath;
 
-                        stampArgs.SetInkData(RawPointList, drawingAttributes.Width, drawingAttributes.Color);
+                        //根据当前选项创建预览图片
+                        double inkThickness;
+                        if (ThicknessListIndex >= 0)
+                        {
+                            inkThickness = Convert.ToDouble(ThicknessList[ThicknessListIndex].Substring(0, 3));
+                        }
+                        else
+                        {
+                            inkThickness = drawingAttributes.Width;
+                        }
+                        stampArgs.SetInkData(RawPointList, inkThickness, drawingAttributes.Color);
                         var writeStamp = stampArgs.GetStampDrawing();
 
                         FreeHandpath = App.CachePath.SignatureStampPath;

+ 13 - 1
PDF Office/ViewModels/PropertyPanel/AnnotPanel/SignatureAnnotPropertyViewModel.cs

@@ -172,7 +172,19 @@ namespace PDF_Master.ViewModels.PropertyPanel.AnnotPanel
             }
             Signature.DrawingPath = viewModel.DrawingSaveToPath;
             Signature.Type = (SignatureType)viewModel.TabItemIndex;
-            Signature.inkThickness = viewModel.DrawingAttributeObject.Width;
+
+            //根据当前选项设置粗细
+            double inkThickness;
+            if (viewModel.ThicknessListIndex >= 0)
+            {
+                inkThickness = Convert.ToDouble(viewModel.ThicknessList[viewModel.ThicknessListIndex].Substring(0, 3));
+            }
+            else
+            {
+                inkThickness = viewModel.DrawingAttributeObject.Width;
+            }
+            Signature.inkThickness = inkThickness;
+
             Signature.inkColor = viewModel.DrawingAttributeObject.Color;
             SignatureList.Add(Signature);