Loading CountDownList/UI/WindowFrame/Share.xaml +11 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,15 @@ <TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">文本颜色</TextBlock> <hc:ColorPicker x:Name="colorPicker" Margin="0,32,0,0"></hc:ColorPicker> </Grid> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">刷新为现在的时间</Button> <Grid Margin="0,4,0,0"> <TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">进度条颜色</TextBlock> <hc:ColorPicker SelectedBrush="#FF40A3D6" x:Name="colorPicker2" Margin="0,32,0,0"></hc:ColorPicker> </Grid> <Grid Margin="0,4,0,0"> <TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">进度条背景</TextBlock> <hc:ColorPicker SelectedBrush="#7F949494" x:Name="colorPicker3" Margin="0,32,0,0"></hc:ColorPicker> </Grid> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0" Click="Button_Click_4">刷新为现在的时间</Button> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0" Click="Button_Click">选择字体(默认微软雅黑)</Button> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0" Click="Button_Click_1">重新绘图</Button> <RadioButton x:Name="OpenFile" Height="28" Margin="0,4,0,0" HorizontalAlignment="Left" IsChecked="True">保存后打开图片</RadioButton> Loading Loading @@ -105,7 +113,7 @@ <TextBlock Foreground="{Binding SelectedBrush, ElementName=colorPicker}" FontFamily="{Binding Font}" x:Name="timeText" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=checkBox4}">3天7:5:3</TextBlock> </Viewbox> <Viewbox x:Name="progressVB" Width="2880" Height="86.4" VerticalAlignment="Bottom" Margin="0,0,0,216"> <ProgressBar x:Name="progressBar" Height="{Binding ElementName=progressVB,Path=Height}" Width="{Binding ElementName=progressVB,Path=Width}" Style="{DynamicResource BaseStyle}" Foreground="#FF40A3D6" Background="#7FA4A4A4" BorderBrush="#7FA4A4A4" Value="21" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"></ProgressBar> <ProgressBar Foreground="{Binding SelectedBrush, ElementName=colorPicker2}" Background="{Binding SelectedBrush, ElementName=colorPicker3}" FontFamily="{Binding Font}" x:Name="progressBar" Height="{Binding ElementName=progressVB,Path=Height}" Width="{Binding ElementName=progressVB,Path=Width}" Style="{DynamicResource BaseStyle}" Value="21" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" BorderBrush="{x:Null}"></ProgressBar> </Viewbox> <Viewbox x:Name="progressTextVB" Width="307.2" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,324"> <TextBlock Foreground="{Binding SelectedBrush, ElementName=colorPicker}" x:Name="progressText">1.00%</TextBlock> Loading @@ -119,7 +127,7 @@ </Viewbox> <StackPanel Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0" Orientation="Horizontal"> <Button Margin="0,0,4,0"> <Button Margin="0,0,4,0" Click="Button_Click_5"> 复制到剪切板 </Button> <Button Click="Button_Click_3"> Loading CountDownList/UI/WindowFrame/Share.xaml.cs +45 −5 Original line number Diff line number Diff line #pragma warning disable CA1 using CountDownList.Controls; using CountDownList.UI.WindowFrame; using OpenCvSharp; using SixLabors.ImageSharp.Formats.Tiff; using System; using System.Collections.Generic; using System.Drawing; Loading Loading @@ -266,16 +268,52 @@ namespace CountDownList.UI.Window } else if((bool)OpenFloder.IsChecked) { System.Diagnostics.Process.Start($@"\explorer.exe", $@"/select,{fileName}.PNG"); System.Diagnostics.Process.Start($@"explorer.exe", $@"/select,{fileName}.PNG"); } } private void Button_Click_4(object sender, RoutedEventArgs e) { now = DateTime.Now; } private void Button_Click_5(object sender, RoutedEventArgs e) { string fileName = $"{AppDomain.CurrentDomain.BaseDirectory}Data\\Shared\\{DateTime.Now.Ticks}"; GetPicFromControlToPNG(outputImg, fileName); CopyFile(fileName + ".PNG"); } /// <summary> /// 复制或剪切文件到剪切板,参考文章:https://www.cnblogs.com/xcsn/p/4678364.html /// </summary> /// <param name="filePath">文件路径数组</param> /// <param name="cut">true:剪切;false:复制</param> public static void CopyFile(string filePath, bool cut = false) { if (filePath == null) return; CopyFileList(new[] { filePath }, cut); } public static void CopyFileList(string[] files, bool cut = false) { if (files == null) return; IDataObject data = new DataObject(DataFormats.FileDrop, files); MemoryStream memo = new MemoryStream(4); byte[] bytes = new byte[] { (byte)(cut ? 2 : 5), 0, 0, 0 }; memo.Write(bytes, 0, bytes.Length); data.SetData("PreferredDropEffect", memo); Clipboard.SetDataObject(data, false); } public void Update() { if (titleFormat == "") { //默认标题 if (ShareTarget.EndTime <= DateTime.Now || ShareTarget.IsCountMode) if (ShareTarget.EndTime <= now || ShareTarget.IsCountMode) { titleText.Text = ShareTarget.Title + "已经过去"; } Loading @@ -299,9 +337,11 @@ namespace CountDownList.UI.Window titleText.Text = titleFormat; } progressBar.Maximum = ShareTarget.EndTime.Second; progressBar.Minimum = ShareTarget.StartTime.Second; progressBar.Value = now.Second; timeText.Text = (ShareTarget.StartTime - now).ToString("dd\\天hh\\:mm\\:ss"); progressBar.Maximum = ShareTarget.EndTime.Ticks; progressBar.Minimum = ShareTarget.StartTime.Ticks; progressBar.Value = now.Ticks; if (ShareTarget.EndTime >= now || overflowMode) { Loading Loading
CountDownList/UI/WindowFrame/Share.xaml +11 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,15 @@ <TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">文本颜色</TextBlock> <hc:ColorPicker x:Name="colorPicker" Margin="0,32,0,0"></hc:ColorPicker> </Grid> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">刷新为现在的时间</Button> <Grid Margin="0,4,0,0"> <TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">进度条颜色</TextBlock> <hc:ColorPicker SelectedBrush="#FF40A3D6" x:Name="colorPicker2" Margin="0,32,0,0"></hc:ColorPicker> </Grid> <Grid Margin="0,4,0,0"> <TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0">进度条背景</TextBlock> <hc:ColorPicker SelectedBrush="#7F949494" x:Name="colorPicker3" Margin="0,32,0,0"></hc:ColorPicker> </Grid> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0" Click="Button_Click_4">刷新为现在的时间</Button> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0" Click="Button_Click">选择字体(默认微软雅黑)</Button> <Button HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,4,0,0" Click="Button_Click_1">重新绘图</Button> <RadioButton x:Name="OpenFile" Height="28" Margin="0,4,0,0" HorizontalAlignment="Left" IsChecked="True">保存后打开图片</RadioButton> Loading Loading @@ -105,7 +113,7 @@ <TextBlock Foreground="{Binding SelectedBrush, ElementName=colorPicker}" FontFamily="{Binding Font}" x:Name="timeText" Visibility="{Binding IsChecked, Converter={StaticResource BooleanToVisibilityConverter}, ElementName=checkBox4}">3天7:5:3</TextBlock> </Viewbox> <Viewbox x:Name="progressVB" Width="2880" Height="86.4" VerticalAlignment="Bottom" Margin="0,0,0,216"> <ProgressBar x:Name="progressBar" Height="{Binding ElementName=progressVB,Path=Height}" Width="{Binding ElementName=progressVB,Path=Width}" Style="{DynamicResource BaseStyle}" Foreground="#FF40A3D6" Background="#7FA4A4A4" BorderBrush="#7FA4A4A4" Value="21" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"></ProgressBar> <ProgressBar Foreground="{Binding SelectedBrush, ElementName=colorPicker2}" Background="{Binding SelectedBrush, ElementName=colorPicker3}" FontFamily="{Binding Font}" x:Name="progressBar" Height="{Binding ElementName=progressVB,Path=Height}" Width="{Binding ElementName=progressVB,Path=Width}" Style="{DynamicResource BaseStyle}" Value="21" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" BorderBrush="{x:Null}"></ProgressBar> </Viewbox> <Viewbox x:Name="progressTextVB" Width="307.2" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,324"> <TextBlock Foreground="{Binding SelectedBrush, ElementName=colorPicker}" x:Name="progressText">1.00%</TextBlock> Loading @@ -119,7 +127,7 @@ </Viewbox> <StackPanel Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0" Orientation="Horizontal"> <Button Margin="0,0,4,0"> <Button Margin="0,0,4,0" Click="Button_Click_5"> 复制到剪切板 </Button> <Button Click="Button_Click_3"> Loading
CountDownList/UI/WindowFrame/Share.xaml.cs +45 −5 Original line number Diff line number Diff line #pragma warning disable CA1 using CountDownList.Controls; using CountDownList.UI.WindowFrame; using OpenCvSharp; using SixLabors.ImageSharp.Formats.Tiff; using System; using System.Collections.Generic; using System.Drawing; Loading Loading @@ -266,16 +268,52 @@ namespace CountDownList.UI.Window } else if((bool)OpenFloder.IsChecked) { System.Diagnostics.Process.Start($@"\explorer.exe", $@"/select,{fileName}.PNG"); System.Diagnostics.Process.Start($@"explorer.exe", $@"/select,{fileName}.PNG"); } } private void Button_Click_4(object sender, RoutedEventArgs e) { now = DateTime.Now; } private void Button_Click_5(object sender, RoutedEventArgs e) { string fileName = $"{AppDomain.CurrentDomain.BaseDirectory}Data\\Shared\\{DateTime.Now.Ticks}"; GetPicFromControlToPNG(outputImg, fileName); CopyFile(fileName + ".PNG"); } /// <summary> /// 复制或剪切文件到剪切板,参考文章:https://www.cnblogs.com/xcsn/p/4678364.html /// </summary> /// <param name="filePath">文件路径数组</param> /// <param name="cut">true:剪切;false:复制</param> public static void CopyFile(string filePath, bool cut = false) { if (filePath == null) return; CopyFileList(new[] { filePath }, cut); } public static void CopyFileList(string[] files, bool cut = false) { if (files == null) return; IDataObject data = new DataObject(DataFormats.FileDrop, files); MemoryStream memo = new MemoryStream(4); byte[] bytes = new byte[] { (byte)(cut ? 2 : 5), 0, 0, 0 }; memo.Write(bytes, 0, bytes.Length); data.SetData("PreferredDropEffect", memo); Clipboard.SetDataObject(data, false); } public void Update() { if (titleFormat == "") { //默认标题 if (ShareTarget.EndTime <= DateTime.Now || ShareTarget.IsCountMode) if (ShareTarget.EndTime <= now || ShareTarget.IsCountMode) { titleText.Text = ShareTarget.Title + "已经过去"; } Loading @@ -299,9 +337,11 @@ namespace CountDownList.UI.Window titleText.Text = titleFormat; } progressBar.Maximum = ShareTarget.EndTime.Second; progressBar.Minimum = ShareTarget.StartTime.Second; progressBar.Value = now.Second; timeText.Text = (ShareTarget.StartTime - now).ToString("dd\\天hh\\:mm\\:ss"); progressBar.Maximum = ShareTarget.EndTime.Ticks; progressBar.Minimum = ShareTarget.StartTime.Ticks; progressBar.Value = now.Ticks; if (ShareTarget.EndTime >= now || overflowMode) { Loading