|
@@ -40,7 +40,6 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
{
|
|
|
Document.ReleasePages();
|
|
|
}
|
|
|
- Document.DeleteWatermarks();
|
|
|
watermark?.ClearWatermark();
|
|
|
watermark?.Release();
|
|
|
}
|
|
@@ -57,6 +56,19 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
public WatermarkPreviewControl()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
+
|
|
|
+ Loaded -= WatermarkPreviewControl_Loaded;
|
|
|
+ Loaded += WatermarkPreviewControl_Loaded;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void WatermarkPreviewControl_Loaded(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ CurrentIndexChanged += WatermarkPreviewControl_CurrentIndexChanged;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void WatermarkPreviewControl_CurrentIndexChanged(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ DeleteDisplayWatermark();
|
|
|
}
|
|
|
|
|
|
private void OnWatermarkChanged()
|
|
@@ -85,16 +97,16 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
}
|
|
|
|
|
|
private void UpdateByImageWatermarkData()
|
|
|
- {
|
|
|
- Bitmap bitmap = new Bitmap( WatermarkData.ImagePath);
|
|
|
+ {
|
|
|
+ Bitmap bitmap = new Bitmap(WatermarkData.ImagePath);
|
|
|
bitmap = CommonHelper.ConvertTo32bppArgb(bitmap);
|
|
|
byte[] byteArray = CommonHelper.ConvertBitmapToByteArray(bitmap);
|
|
|
watermark.SetImage(byteArray, bitmap.Width, bitmap.Height);
|
|
|
- watermark.SetScale((float)(WatermarkData.ImageScale/100.0));
|
|
|
+ watermark.SetScale((float)(WatermarkData.ImageScale / 100.0));
|
|
|
UpdateByCommonWatermarkData();
|
|
|
}
|
|
|
|
|
|
- private void UpdateByTextWatermarkData()
|
|
|
+ private void UpdateByTextWatermarkData()
|
|
|
{
|
|
|
watermark.SetText(WatermarkData.Text);
|
|
|
watermark.SetFontName(WatermarkData.FontName);
|
|
@@ -108,9 +120,9 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
{
|
|
|
watermark.SetPages((PageRangeList[CurrentIndex - 1] - 1).ToString());
|
|
|
watermark.SetRotation((float)(WatermarkData.Rotation * Math.PI / 180.0));
|
|
|
- watermark.SetOpacity((byte)WatermarkData.Opacity);
|
|
|
- watermark.SetVertalign(WatermarkData.Vertalign);
|
|
|
- watermark.SetHorizalign(WatermarkData.Horizalign);
|
|
|
+ watermark.SetOpacity(WatermarkData.Opacity);
|
|
|
+ watermark.SetVertalign((C_Watermark_Vertalign)(WatermarkData.Align / 3));
|
|
|
+ watermark.SetHorizalign((C_Watermark_Horizalign)(WatermarkData.Align % 3));
|
|
|
watermark.SetVertOffset(WatermarkData.VertOffset);
|
|
|
watermark.SetHorizOffset(WatermarkData.HorizOffset);
|
|
|
watermark.SetFront(WatermarkData.IsFront);
|
|
@@ -118,21 +130,23 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
watermark.SetVerticalSpacing(WatermarkData.VerticalSpacing);
|
|
|
watermark.SetHorizontalSpacing(WatermarkData.HorizontalSpacing);
|
|
|
watermark.CreateWatermark();
|
|
|
+ watermark.UpdateWatermark();
|
|
|
}
|
|
|
|
|
|
public void DeleteDisplayWatermark()
|
|
|
{
|
|
|
if (watermark != null)
|
|
|
{
|
|
|
- Document.DeleteWatermarks();
|
|
|
+ Document.ReleasePages();
|
|
|
+ watermark?.ClearWatermark();
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
override public void BeginLoadImageThread(int pageIndex)
|
|
|
{
|
|
|
UpdateByWatermarkData();
|
|
|
|
|
|
- base.BeginLoadImageThread(pageIndex);
|
|
|
+ base.BeginLoadImageThread(pageIndex);
|
|
|
}
|
|
|
|
|
|
override public void AttachLoaded()
|
|
@@ -143,7 +157,7 @@ namespace Compdfkit_Tools.PDFControl
|
|
|
|
|
|
private void WatermarkPreviewControl_WatermarkChanged(object sender, EventArgs e)
|
|
|
{
|
|
|
- BeginLoadImageThread(PageRangeList[CurrentIndex - 1] - 1);
|
|
|
+ BeginLoadImageThread(PageRangeList[CurrentIndex - 1] - 1);
|
|
|
}
|
|
|
}
|
|
|
}
|