|
@@ -11,6 +11,7 @@ using Prism.Regions;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.ComponentModel;
|
|
|
+using System.IO;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
@@ -18,6 +19,7 @@ using System.Windows;
|
|
|
using System.Windows.Controls;
|
|
|
using System.Windows.Input;
|
|
|
using System.Windows.Media;
|
|
|
+using System.Windows.Media.Imaging;
|
|
|
using System.Windows.Shapes;
|
|
|
using static Dropbox.Api.TeamLog.AdminAlertSeverityEnum;
|
|
|
using MenuItem = System.Windows.Controls.MenuItem;
|
|
@@ -311,6 +313,39 @@ namespace PDF_Master.ViewModels.Tools
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void CopyMenu_Click(object sender, RoutedEventArgs e)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Dictionary<int, List<System.Drawing.Bitmap>> imageDict = PDFViewer?.GetSelectedImages();
|
|
|
+
|
|
|
+ if (imageDict != null && imageDict.Count > 0)
|
|
|
+ {
|
|
|
+ foreach (int pageIndex in imageDict.Keys)
|
|
|
+ {
|
|
|
+ List<System.Drawing.Bitmap> imageList = imageDict[pageIndex];
|
|
|
+ foreach (System.Drawing.Bitmap image in imageList)
|
|
|
+ {
|
|
|
+ MemoryStream ms = new MemoryStream();
|
|
|
+ image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
|
|
|
+ BitmapImage imageData = new BitmapImage();
|
|
|
+ imageData.BeginInit();
|
|
|
+ imageData.StreamSource = ms;
|
|
|
+ imageData.CacheOption = BitmapCacheOption.OnLoad;
|
|
|
+ imageData.EndInit();
|
|
|
+ imageData.Freeze();
|
|
|
+ Clipboard.SetImage(imageData);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 选择文本或者图像的右键菜单
|
|
|
/// </summary>
|
|
@@ -325,11 +360,17 @@ namespace PDF_Master.ViewModels.Tools
|
|
|
MenuItem menuItem = new MenuItem();
|
|
|
menuItem = new MenuItem();
|
|
|
menuItem.CommandTarget = (UIElement)sender;
|
|
|
- menuItem.Command = ApplicationCommands.Copy;
|
|
|
+
|
|
|
menuItem.Header = T_RightMenuSelectionCopy;
|
|
|
if (annotCommand.CommandTarget == TargetType.ImageSelection && PDFViewer.GetSelectImageCount() > 0)
|
|
|
{
|
|
|
menuItem.IsEnabled = true;
|
|
|
+ menuItem.Click -= CopyMenu_Click;
|
|
|
+ menuItem.Click += CopyMenu_Click;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ menuItem.Command = ApplicationCommands.Copy;
|
|
|
}
|
|
|
|
|
|
popMenu.Items.Add(menuItem);
|