|
@@ -34,7 +34,8 @@ namespace PDF_Office.ViewModels.EditTools.Background
|
|
public CPDFViewer PDFViewer;
|
|
public CPDFViewer PDFViewer;
|
|
public CPDFDocument Document;
|
|
public CPDFDocument Document;
|
|
private ViewContentViewModel viewContentViewModel;
|
|
private ViewContentViewModel viewContentViewModel;
|
|
- CPDFViewer pdfViewer;
|
|
|
|
|
|
+ public EnumDelete EnumDelete = EnumDelete.StatusCreate;
|
|
|
|
+ public CPDFViewer pdfViewer;
|
|
|
|
|
|
private CPDFBackground background;
|
|
private CPDFBackground background;
|
|
private BackgroundInfo backgroundInfo;
|
|
private BackgroundInfo backgroundInfo;
|
|
@@ -91,6 +92,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
|
|
|
|
|
|
eventAggregator.GetEvent<ConfirmEditToolsBackgroundEvent>().Subscribe(ConfirmEditToolsBackground);
|
|
eventAggregator.GetEvent<ConfirmEditToolsBackgroundEvent>().Subscribe(ConfirmEditToolsBackground);
|
|
eventAggregator.GetEvent<SetBackgroundEvent>().Subscribe(SetBackground, e => e.Unicode == Unicode);
|
|
eventAggregator.GetEvent<SetBackgroundEvent>().Subscribe(SetBackground, e => e.Unicode == Unicode);
|
|
|
|
+ eventAggregator.GetEvent<DeleteBackgroundEvent>().Subscribe(DeleteBackground, e => e.Unicode == Unicode);
|
|
ViewerRegionName = RegionNames.BackgroundViewerRegionName;
|
|
ViewerRegionName = RegionNames.BackgroundViewerRegionName;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -122,20 +124,38 @@ namespace PDF_Office.ViewModels.EditTools.Background
|
|
|
|
|
|
public void ConfirmEditToolsBackground()
|
|
public void ConfirmEditToolsBackground()
|
|
{
|
|
{
|
|
|
|
+ if (EnumDelete == EnumDelete.StatusDeleteAll)
|
|
|
|
+ {
|
|
|
|
+ PDFViewer.Document.GetBackground().Clear();
|
|
|
|
+ }
|
|
|
|
+
|
|
if (backgroundInfo != null)
|
|
if (backgroundInfo != null)
|
|
{
|
|
{
|
|
CreateBackground(viewContentViewModel.PDFViewer.Document);
|
|
CreateBackground(viewContentViewModel.PDFViewer.Document);
|
|
}
|
|
}
|
|
|
|
+ viewContentViewModel.PDFViewer.UndoManager.CanSave = true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void DeleteBackground(EnumDeleteUnicode enumDeleteunicode)
|
|
|
|
+ {
|
|
|
|
+ if(enumDeleteunicode.Status == EnumDelete.StatusDeleteAll)
|
|
|
|
+ {
|
|
|
|
+ EnumDelete enumDelete = enumDeleteunicode.Status;
|
|
|
|
+ EnumDelete = enumDelete;
|
|
|
|
+ PDFViewer.Document.GetBackground().Clear();
|
|
|
|
+ PDFViewer.Document.ReleasePages();
|
|
|
|
+ PDFViewer.ReloadDocument();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
|
|
public void SetBackground(BackgroundInfoUnicode backgroundInfounicode)
|
|
public void SetBackground(BackgroundInfoUnicode backgroundInfounicode)
|
|
{
|
|
{
|
|
|
|
+ EnumDelete = EnumDelete.StatusCreate;
|
|
BackgroundInfo backgroundInfo = backgroundInfounicode.Status;
|
|
BackgroundInfo backgroundInfo = backgroundInfounicode.Status;
|
|
this.backgroundInfo = backgroundInfo;
|
|
this.backgroundInfo = backgroundInfo;
|
|
CreateBackground(PDFViewer.Document);
|
|
CreateBackground(PDFViewer.Document);
|
|
PDFViewer.InvalidChildVisual(false);
|
|
PDFViewer.InvalidChildVisual(false);
|
|
- PDFViewer.Document.ReleasePages();
|
|
|
|
- PDFViewer.ReloadDocument();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
public void CreateBackground(CPDFDocument document, bool IsNewDoc = false)
|
|
public void CreateBackground(CPDFDocument document, bool IsNewDoc = false)
|
|
@@ -154,9 +174,9 @@ namespace PDF_Office.ViewModels.EditTools.Background
|
|
background.SetImage(backgroundInfo.ImageArray, backgroundInfo.ImageWidth, backgroundInfo.ImageHeight, ComPDFKit.Import.C_Scale_Type.fitCenter);
|
|
background.SetImage(backgroundInfo.ImageArray, backgroundInfo.ImageWidth, backgroundInfo.ImageHeight, ComPDFKit.Import.C_Scale_Type.fitCenter);
|
|
}
|
|
}
|
|
|
|
|
|
- background.SetScale(1);
|
|
|
|
- background.SetRotation(backgroundInfo.Rotation);
|
|
|
|
- background.SetOpacity(backgroundInfo.Opacity);
|
|
|
|
|
|
+ background.SetScale((float)(backgroundInfo.Scale/100));
|
|
|
|
+ background.SetRotation((float)((backgroundInfo.Rotation / 180) * Math.PI ));
|
|
|
|
+ background.SetOpacity((byte)((backgroundInfo.Opacity / 100) * 255));
|
|
background.SetVertalign(backgroundInfo.Vertalign);
|
|
background.SetVertalign(backgroundInfo.Vertalign);
|
|
background.SetHorizalign(backgroundInfo.Horizalign);
|
|
background.SetHorizalign(backgroundInfo.Horizalign);
|
|
background.SetXOffset(backgroundInfo.HorizOffset);
|
|
background.SetXOffset(backgroundInfo.HorizOffset);
|
|
@@ -212,10 +232,10 @@ namespace PDF_Office.ViewModels.EditTools.Background
|
|
CreateBackground(newDoc, true);
|
|
CreateBackground(newDoc, true);
|
|
CPDFPage newPage = newDoc.PageAtIndex(0);
|
|
CPDFPage newPage = newDoc.PageAtIndex(0);
|
|
double scale = 96.0 / 72.0;
|
|
double scale = 96.0 / 72.0;
|
|
- zoom = zoom * scale;
|
|
|
|
|
|
+ zoom = zoom * 1.5;
|
|
Rect renderRect = new Rect(0, 0, (int)(pageSize.Width * scale), (int)(pageSize.Height * scale));
|
|
Rect renderRect = new Rect(0, 0, (int)(pageSize.Width * scale), (int)(pageSize.Height * scale));
|
|
byte[] imageArray = new byte[(int)(renderRect.Width * renderRect.Height * 4)];
|
|
byte[] imageArray = new byte[(int)(renderRect.Width * renderRect.Height * 4)];
|
|
- newPage.RenderPageBitmapWithMatrix((float)zoom, renderRect, 0x00FFFFFF, imageArray, 1, true);
|
|
|
|
|
|
+ newPage.RenderPageBitmapWithMatrix(1/(float)zoom, renderRect, 0x00FFFFFF, imageArray, 1, true);
|
|
WriteableBitmap WirteBitmap = new WriteableBitmap((int)renderRect.Width, (int)renderRect.Height, 96, 96, PixelFormats.Bgra32, null);
|
|
WriteableBitmap WirteBitmap = new WriteableBitmap((int)renderRect.Width, (int)renderRect.Height, 96, 96, PixelFormats.Bgra32, null);
|
|
WirteBitmap.WritePixels(new Int32Rect(0, 0, (int)renderRect.Width, (int)renderRect.Height), imageArray, WirteBitmap.BackBufferStride, 0);
|
|
WirteBitmap.WritePixels(new Int32Rect(0, 0, (int)renderRect.Width, (int)renderRect.Height), imageArray, WirteBitmap.BackBufferStride, 0);
|
|
return WirteBitmap;
|
|
return WirteBitmap;
|
|
@@ -251,7 +271,7 @@ namespace PDF_Office.ViewModels.EditTools.Background
|
|
PDFViewer.ChangeViewMode(ViewMode.Single);
|
|
PDFViewer.ChangeViewMode(ViewMode.Single);
|
|
PDFViewer.SetMouseMode(MouseModes.Default);
|
|
PDFViewer.SetMouseMode(MouseModes.Default);
|
|
PageRangeNumber = PDFViewer.Document.PageCount;
|
|
PageRangeNumber = PDFViewer.Document.PageCount;
|
|
- PDFViewer.ChangeFitMode(FitMode.FitHeight);
|
|
|
|
|
|
+ PDFViewer.Zoom(0.5);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|