|
@@ -8,6 +8,7 @@ using Compdfkit_Tools.Helper;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Drawing;
|
|
|
+using System.Drawing.Imaging;
|
|
|
using System.IO;
|
|
|
using System.Reflection;
|
|
|
using System.Runtime.Remoting.Messaging;
|
|
@@ -20,6 +21,7 @@ using System.Windows.Media;
|
|
|
using System.Windows.Media.Imaging;
|
|
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
|
|
using Pen = System.Windows.Media.Pen;
|
|
|
+using PixelFormat = System.Windows.Media.PixelFormat;
|
|
|
using Point = System.Windows.Point;
|
|
|
using Window = System.Windows.Window;
|
|
|
|
|
@@ -68,10 +70,20 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
signatureCertificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path(SignaturePath, Password);
|
|
|
signatureName = DictionaryValueConverter.GetGrantorFromDictionary(signatureCertificate.SubjectDict);
|
|
|
tempSignatureConfig.Text = signatureName;
|
|
|
- CreateTempSignature();
|
|
|
+ InitTempSignature();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void InitTempSignature()
|
|
|
+ {
|
|
|
+ NameChk.IsChecked = true;
|
|
|
+ DateChk.IsChecked = true;
|
|
|
+ LogoChk.IsChecked = true;
|
|
|
+ TabChk.IsChecked = true;
|
|
|
+ SetProperty();
|
|
|
+ CreateTempSignature();
|
|
|
+ }
|
|
|
+
|
|
|
public CPDFSignatureWidget signatureWidget { get; set; }
|
|
|
|
|
|
public event EventHandler<string> AfterFillSignature;
|
|
@@ -100,8 +112,12 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
if (tempSignatureConfig.IsDrawLogo)
|
|
|
{
|
|
|
tempSignatureConfig.LogoBitmap = new Bitmap(logoPath);
|
|
|
+ //set logoBitmap opacity to 0.4
|
|
|
+ tempSignatureConfig.LogoBitmap = SetImageOpacity(tempSignatureConfig.LogoBitmap, 0.4f);
|
|
|
}
|
|
|
tempSignatureConfig.Content = Text;
|
|
|
+ tempSignatureConfig.textColor = new float[] { 0, 0, 0 };
|
|
|
+ tempSignatureConfig.contentColor = new float[] { 0, 0, 0 };
|
|
|
signatureWidget.UpdataApWithSignature(tempSignatureConfig);
|
|
|
|
|
|
byte[] signatureBitmapBytes = GetTempSignatureImage(signatureWidget, out int width, out int height);
|
|
@@ -120,6 +136,20 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private Bitmap SetImageOpacity(Bitmap bitmap, float f)
|
|
|
+ {
|
|
|
+ Bitmap resultBitmap = new Bitmap(bitmap.Width, bitmap.Height);
|
|
|
+ using (Graphics g = Graphics.FromImage(resultBitmap))
|
|
|
+ {
|
|
|
+ ColorMatrix matrix = new ColorMatrix();
|
|
|
+ matrix.Matrix33 = f;
|
|
|
+ ImageAttributes attributes = new ImageAttributes();
|
|
|
+ attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
|
|
|
+ g.DrawImage(bitmap, new Rectangle(0, 0, resultBitmap.Width, resultBitmap.Height), 0, 0, bitmap.Width, bitmap.Height, GraphicsUnit.Pixel, attributes);
|
|
|
+ }
|
|
|
+ return resultBitmap;
|
|
|
+ }
|
|
|
+
|
|
|
public static byte[] GetTempSignatureImage(CPDFSignatureWidget signatureWidget, out int width, out int height)
|
|
|
{
|
|
|
CRect rect = signatureWidget.GetRect();
|