|
@@ -66,6 +66,10 @@ namespace edit_ctrl_demo
|
|
|
/// 上一次的PDF编辑对象
|
|
|
/// </summary>
|
|
|
private PDFEditEvent lastPDFEditEvent = null;
|
|
|
+ /// <summary>
|
|
|
+ /// 缩放比例
|
|
|
+ /// </summary>
|
|
|
+ private double[] zoomLevel = { 1.00f, 8f, 12f, 25, 33f, 50, 66f, 75, 100, 125, 150, 200, 300, 400, 600, 800, 1000 };
|
|
|
public MainWindow()
|
|
|
{
|
|
|
InitializeComponent();
|
|
@@ -81,7 +85,6 @@ namespace edit_ctrl_demo
|
|
|
/// <summary>
|
|
|
///触发属性更改事件通知
|
|
|
/// </summary>
|
|
|
-
|
|
|
protected void OnPropertyChanged([CallerMemberName] string name = null)
|
|
|
{
|
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
|
|
@@ -94,6 +97,48 @@ namespace edit_ctrl_demo
|
|
|
PDFView.PDFEditActiveHandler += PDFView_PDFEditActiveHandler;
|
|
|
PDFView.UndoManager.PropertyChanged += UndoManager_PropertyChanged;
|
|
|
PDFView.PDFEditCommandHandler += PDFView_PDFEditCommandHandler;
|
|
|
+ PDFView.MouseWheelZoomHandler += PDFView_MouseWheelZoomHandler;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 鼠标滚轮缩放事件
|
|
|
+ /// </summary>
|
|
|
+ private void PDFView_MouseWheelZoomHandler(object sender, bool e)
|
|
|
+ {
|
|
|
+ double newZoom = CheckZoomLevel(PDFView.ZoomFactor + (e ? 0.01 : -0.01), e);
|
|
|
+ PDFView?.Zoom(newZoom);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 检查缩放比例
|
|
|
+ /// </summary>
|
|
|
+ private double CheckZoomLevel(double zoom, bool IsGrowth)
|
|
|
+ {
|
|
|
+ double standardZoom = 100;
|
|
|
+ if (zoom <= 0.01)
|
|
|
+ {
|
|
|
+ return 0.01;
|
|
|
+ }
|
|
|
+ if (zoom >= 10)
|
|
|
+ {
|
|
|
+ return 10;
|
|
|
+ }
|
|
|
+
|
|
|
+ zoom *= 100;
|
|
|
+ for (int i = 0; i < zoomLevel.Length - 1; i++)
|
|
|
+ {
|
|
|
+ if (zoom > zoomLevel[i] && zoom <= zoomLevel[i + 1] && IsGrowth)
|
|
|
+ {
|
|
|
+ standardZoom = zoomLevel[i + 1];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (zoom >= zoomLevel[i] && zoom < zoomLevel[i + 1] && !IsGrowth)
|
|
|
+ {
|
|
|
+ standardZoom = zoomLevel[i];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return standardZoom / 100;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -220,26 +265,17 @@ namespace edit_ctrl_demo
|
|
|
if (senderBtn != null)
|
|
|
{
|
|
|
ClearPDFEditState(senderBtn);
|
|
|
- senderBtn.IsChecked = true;
|
|
|
- //if (senderBtn.IsChecked == true)
|
|
|
+ senderBtn.IsChecked = false;
|
|
|
+ PDFView?.SetPDFEditType(CPDFEditType.EditImage);
|
|
|
+ PDFView?.SetMouseMode(MouseModes.PDFEdit);
|
|
|
+ PDFView?.ReloadDocument();
|
|
|
+ OpenFileDialog openFileDialog = new OpenFileDialog();
|
|
|
+ openFileDialog.Filter = "Image Files(*.jpg;*.jpeg;*.png;*.bmp)|*.jpg;*.jpeg;*.png;*.bmp;";
|
|
|
+ if (openFileDialog.ShowDialog() == true)
|
|
|
{
|
|
|
- PDFView?.SetPDFEditType(CPDFEditType.EditImage);
|
|
|
- PDFView?.SetMouseMode(MouseModes.PDFEdit);
|
|
|
- PDFView?.ReloadDocument();
|
|
|
- OpenFileDialog openFileDialog = new OpenFileDialog();
|
|
|
- openFileDialog.Filter = "Image Files(*.jpg;*.jpeg;*.png;*.bmp)|*.jpg;*.jpeg;*.png;*.bmp;";
|
|
|
- if (openFileDialog.ShowDialog() == true)
|
|
|
- {
|
|
|
- PDFView?.SetPDFEditCreateType(CPDFEditType.EditImage);
|
|
|
- PDFView?.AddPDFEditImage(openFileDialog.FileName);
|
|
|
- }
|
|
|
+ PDFView?.SetPDFEditCreateType(CPDFEditType.EditImage);
|
|
|
+ PDFView?.AddPDFEditImage(openFileDialog.FileName);
|
|
|
}
|
|
|
- //else
|
|
|
- //{
|
|
|
- // PDFView?.SetPDFEditType(CPDFEditType.None);
|
|
|
- // PDFView?.SetMouseMode(MouseModes.PanTool);
|
|
|
- // PDFView?.ReloadDocument();
|
|
|
- //}
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -491,7 +527,6 @@ namespace edit_ctrl_demo
|
|
|
/// <summary>
|
|
|
/// 进入文字和图片编辑
|
|
|
/// </summary>
|
|
|
-
|
|
|
private void PDFEditBtn_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
ToggleButton senderBtn = sender as ToggleButton;
|