WPF学习笔记-第二周【基本笔刷】

  书接上回,这一次,讲的是WPF中的基本笔刷,由于是菜鸟,就不多说了,继续帖示例代码:)

 

第一部份 代码

第二章 基本笔刷

第一个 示例

 

ExpandedBlockStart.gifVaryTheBackgroud P38
 1     #region VaryTheBackgroud P38
 2     
 3     /// <summary>
 4     /// 改变背景的示例
 5     /// 通过鼠标移动事件,根据鼠标对应的窗口中心位置的距离计算并改变窗口的背景颜色
 6     /// </summary>
 7     public class VaryTheBackgroud : Window
 8     {
 9         /// <summary>
10         /// 定义一个 Brush,存放窗口的背景颜色
11         /// </summary>
12         SolidColorBrush brush = new SolidColorBrush(Colors.Black);
13         /// <summary>
14         /// 构造窗口
15         /// </summary>
16         public VaryTheBackgroud()
17         {
18             //指定标题\高\宽和背景颜色
19             this.Title = "Vary The Backgroud";
20             this.Width = 384;
21             this.Height = 384;
22             Background = brush;
23         }
24 
25         [STAThread]
26         static void Main()
27         {
28             //定义并运行程序
29             Application app = new Application();
30             app.Run(new VaryTheBackgroud());
31         }
32 
33         /// <summary>
34         /// 重写鼠标移动事件
35         /// </summary>
36         /// <param name="e"></param>
37         protected override void OnMouseMove(MouseEventArgs e)
38         {
39             //base.OnMouseMove(e);
40             //获得窗口的工作区的宽和高(减去加框和标题栏后的高宽度)
41             double width = ActualWidth - 2 * SystemParameters.ResizeFrameVerticalBorderWidth;
42             double height = ActualHeight - 2 * SystemParameters.ResizeFrameHorizontalBorderHeight - SystemParameters.CaptionHeight;
43             //当前鼠标的位置
44             Point ptMouse=e.GetPosition(this);
45             //窗口工作区中心点
46             Point ptCenter=new Point(width/2,height/2);
47             //鼠标相对工作区中心的偏移量
48             Vector vectMouse = ptMouse - ptCenter;
49             //计算角度
50             double angle = Math.Atan2(vectMouse.Y, vectMouse.X);
51             //计算一个圆形的区域
52             Vector vectEllipse = new Vector(width / 2 * Math.Cos(angle), height / 2 * Math.Sin(angle));
53             //计算鼠标的位置与圆形区域的比例,并*255 以转换成颜色值
54             Byte byLevel = (byte)(255 * (1 - Math.Min(1, vectMouse.Length / vectEllipse.Length)));
55             //修改brush 的颜色
56             Color clr=brush.Color;
57 
58             clr.R=clr.G=clr.B=byLevel;
59 
60             brush.Color=clr;
61         }
62     }
63 
64     //相关知识:
65     //1、Brush 的改变后会自动重画窗口,
66     //原因是因继承自Freezable类,该类实现了一个名为Changed的事件,会在发生改变后被触发。
67     //2、Colors 定义了141种颜色,Brushs也同样的定义了同名的141种画刷
68     //3、如果直接 SolidColorBrush brush =Brushs.Black 后再来指定颜色则会报错,因由 Brushs 所得的画刷对象是处于冻结状态的,不能再被改变
69     //4、被冻结的Freezable对象可以在不同的线程之间共享,未被冻结的则不行。
70     
71     #endregion

 

 

第二个示例

 

ExpandedBlockStart.gifFlipTroughTheBrushes P41
 1     #region FlipTroughTheBrushes P41
 2     
 3     /// <summary>
 4     /// 使用 Brushes 类定义的 141 种颜色笔刷填充窗口
 5     /// 通过重写 OnKeyDown 事件按一下下方向键,就使用一种颜色的笔刷填充窗口
 6     /// </summary>
 7     public class FlipThroughTheBushes:Window
 8     {
 9         //定义计数器和笔刷组
10         int index = 0;
11         PropertyInfo[] props;
12 
13         [STAThread]
14         public static void Main()
15         {
16             Application app = new Application();
17             app.Run(new FlipThroughTheBushes());
18         }
19 
20         public FlipThroughTheBushes()
21         {
22             //通过反射获取 Brushes 类定义的所有公有成员和静态成员
23             //BindingFlags 标识成员的类型,Brushes 只有Public 和 static 所以可以不用限制
24             props = typeof(Brushes).GetProperties(BindingFlags.Public | BindingFlags.Static);
25             //设置窗口标题和背景颜色
26             setTitleAndBackground();
27         }
28 
29         /// <summary>
30         /// 重写 OnKeyDown 事件
31         /// </summary>
32         /// <param name="e"></param>
33         protected override void OnKeyDown(KeyEventArgs e)
34         {
35             //根据上下方向键的动作来设定计数
36             if (e.Key == Key.Down || e.Key == Key.Up)
37             {
38                 index += e.Key == Key.Up ? 1 : props.Length - 1;
39                 
40                 index %= props.Length;
41                 //设置窗口标题和背景颜色
42                 setTitleAndBackground();
43             }
44             base.OnKeyDown(e);
45         }
46         /// <summary>
47         /// 设置窗口标题和背景颜色
48         /// </summary>
49         void setTitleAndBackground()
50         {
51             //在标题显示当前使用的颜色
52             Title = "Flip Through the Brushes -" + props[index].Name;
53             //设置背景色
54             //PropertyInfo[].GetValue(null,null) 在这里实际返回是的 SolidColorBrush 对象
55             Background = (Brush)props[index].GetValue(nullnull);
56         }
57     }
58 
59     //知识:
60     //1、System.Window 命名空间 有 SystemColors 类其作用相似于 Colors 和 Brushes 只具有静态的只读property,返回Color值和SolidColorBrush对象。
61     //2、这些值存储在Windows的注册表中,可以由SystemColors.WindowColor 和 SystemColors.WindowTextBrush 获得用户对窗口工作区背景和文字颜色的喜好
62     //3、SystemColors返回的画刷是冻结的 可以 Brush brush=new SystemColorBrush(SystemColors.WindowColor); 但不能改变 Brush brush=SystemColors.WindowBrush; 这样的画刷
63     //4、继承自Freezable 的类对象有冻结的问题,但Color 是结构体,没有冻结的问题。
64     //5、SolidColorBrush 是单色画刷,渐变画刷是: LinearGradientBrush
65     
66     #endregion

 

 

第三个示例

 

ExpandedBlockStart.gifGradilteTheBrush P43
 1     #region GradilteTheBrush P43
 2     
 3     /// <summary>
 4     /// 以渐变色填充窗口工作区
 5     /// </summary>
 6     public class GradialteTheBrush : Window
 7     {
 8         [STAThread]
 9         public static void Main()
10         {
11             Application app = new Application();
12             app.Run(new GradialteTheBrush());
13         }
14         public GradialteTheBrush()
15         {
16             Title = "Gradiate The Brush";
17             // 定义一个渐变色的画刷 ,LinearGradientBrush中 从 Point(0, 0)到 Point(1, 1)就是指从窗口工作区的右上角到左下角
18             //LinearGradientBrush brush = new LinearGradientBrush(Colors.Red, Colors.Blue, new Point(0, 0), new Point(1, 1));
19                        
20 
21             LinearGradientBrush brush = new LinearGradientBrush(Colors.Red, Colors.Blue, new Point(00), new Point(0.250.25));
22             brush.SpreadMethod = GradientSpreadMethod.Reflect;
23 
24             //指定为背景色
25             Background = brush;
26         }
27 
28     }
29 
30     //知识:
31     //1、WPF中的点是与设备无关的,WPF渐变画刷有特性是让你不用基于窗口尺寸来调整的点,默认情况下你指定的点是相对于表面的,这里的表面被视为一个单位宽一个单位高,即左上角为(0,0),右下角为(1,1),左下角为(0,1) 右下角为(1,0)
32     //2、LinearGradientBrush 设置的渐变色效果是以两点进行连线,连线中点的颜色就是两点颜色的平均值,垂直与连线的线上的点颜色是相同的
33     //3、LinearGradientBrush 的重载版本中可以设置360度角度(angle)进行渐变填充 如 new LinearGradientBrush(Color1, Color2, angle)
34     //4、LinearGradientBrush 的重载版本中垂直渐变填充 如 new LinearGradientBrush(Color1, Color2, new Point(0, 0), new Point(1, 1))
35     //5、LinearGradientBrush 的重载版本中任意角度渐变填充 如 new LinearGradientBrush(Color1, Color2, new Point(0, 0), new Point(cos(angle),sin(angle)));
36    
37     #endregion

 

 

第四个示例

 

ExpandedBlockStart.gifAdjustTheBrush P47
 1     #region AdjustTheBrush P47
 2     
 3     /// <summary>
 4     /// 对角线为渐变中线的渐变画刷填充
 5     /// </summary>
 6     public class AdjustTheGradient : Window
 7     {
 8         LinearGradientBrush brush;
 9 
10         [STAThread]
11         static void Main()
12         {
13             Application app = new Application();
14             app.Run(new AdjustTheGradient());
15         }
16 
17         public AdjustTheGradient()
18         {
19             Title = "Adjust The Gradient";
20             SizeChanged += WindowOnSizeSizeChanged;
21             brush = new LinearGradientBrush(Colors.Red, Colors.Blue, 0);
22             brush.MappingMode = BrushMappingMode.Absolute;
23             Background = brush;
24         }
25 
26         void WindowOnSizeSizeChanged(object sender, SizeChangedEventArgs e)
27         {
28             double width = ActualWidth - 2 * SystemParameters.ResizeFrameVerticalBorderWidth;
29             double height = ActualHeight - 2 * SystemParameters.ResizeFrameHorizontalBorderHeight - SystemParameters.CaptionHeight;
30 
31             Point ptCenter = new Point(width / 2, height / 2);
32             Vector vectDiag = new Vector(width, -height);
33             Vector vectperp = new Vector(vectDiag.Y, -vectDiag.X);
34 
35             vectperp.Normalize();
36             vectperp *= width * height / vectDiag.Length;
37 
38             brush.StartPoint = ptCenter + vectperp;
39             brush.EndPoint = ptCenter - vectperp;
40         }
41 
42     }
43     //知识:
44     //1、  StartPoint 和 是LinearGradientBrush仅有的两个 property
45     //2、  LinearGradientBrush 可以使用 GradientBrush 定义的GradinetStops property 设置更多的颜色
46     //3、 new GradientStop(color1,offset);
47     
48     #endregion

 

 

第五个示例

 

ExpandedBlockStart.gifFollowTheRainbow P48
 1     #region FollowTheRainbow P48
 2     
 3     /// <summary>
 4     /// 彩虹颜色的窗体
 5     /// </summary>
 6     class FollowTheRainbow:Window
 7     {
 8         [STAThread]
 9         static void Main()
10         {
11             Application app = new Application();
12             app.Run(new FollowTheRainbow());
13         }
14 
15         public FollowTheRainbow()
16         {
17             Title = "Follow The Rainbow";
18             LinearGradientBrush brush = new LinearGradientBrush();
19             brush.StartPoint = new Point(00);
20             brush.EndPoint = new Point(10);
21 
22             Background = brush;
23 
24             // 采用Rey G.Biv 的彩虹记住系统
25             brush.GradientStops.Add(new GradientStop(Colors.Red, 0));
26             brush.GradientStops.Add(new GradientStop(Colors.Orange, .17));
27             brush.GradientStops.Add(new GradientStop(Colors.Yellow,.33));
28             brush.GradientStops.Add(new GradientStop(Colors.Green, .5));
29             brush.GradientStops.Add(new GradientStop(Colors.Blue, .67));
30             brush.GradientStops.Add(new GradientStop(Colors.Indigo, .84));
31             brush.GradientStops.Add(new GradientStop(Colors.Violet, 1));
32         }
33 
34     }
35     
36     #endregion

 

 

第六个示例

 

ExpandedBlockStart.gifFollowTheRainbow P49
 1     #region FollowTheRainbow P49
 2     
 3     /// <summary>
 4     /// 由内向处的彩虹颜色的窗体
 5     /// </summary>
 6     class ClrcleTheRainbow : Window
 7     {
 8         [STAThread]
 9         static void Main()
10         {
11             Application app = new Application();
12             app.Run(new ClrcleTheRainbow());
13         }
14 
15         public ClrcleTheRainbow()
16         {
17             Title = "Follow The Rainbow";
18             RadialGradientBrush brush = new RadialGradientBrush();
19             Background = brush;
20 
21             // 采用Rey G.Biv 的彩虹记住系统
22             brush.GradientStops.Add(new GradientStop(Colors.Red, 0));
23             brush.GradientStops.Add(new GradientStop(Colors.Orange, .17));
24             brush.GradientStops.Add(new GradientStop(Colors.Yellow, .33));
25             brush.GradientStops.Add(new GradientStop(Colors.Green, .5));
26             brush.GradientStops.Add(new GradientStop(Colors.Blue, .67));
27             brush.GradientStops.Add(new GradientStop(Colors.Indigo, .84));
28             brush.GradientStops.Add(new GradientStop(Colors.Violet, 1));
29         }
30 
31     }
32     
33     #endregion

 

 

第七个示例

 

ExpandedBlockStart.gifFollowTheRainbow P51
 1     #region FollowTheRainbow P51
 2     
 3     /// <summary>
 4     /// 同心圆的渐变
 5     /// </summary>
 6     class ClickTheGradientCenter : Window
 7     {
 8         [STAThread]
 9         static void Main()
10         {
11             Application app = new Application();
12             app.Run(new ClickTheGradientCenter());
13         }
14         RadialGradientBrush brush;
15         public ClickTheGradientCenter()
16         {
17             Title = "Click The Gradient Center";
18             brush = new RadialGradientBrush(Colors.White,Colors.Red);
19             brush.RadiusX = brush.RadiusY = .10;
20             brush.SpreadMethod = GradientSpreadMethod.Repeat;
21             Background = brush;
22         }
23 
24         protected override void OnMouseDown(MouseButtonEventArgs e)
25         {
26             double width = ActualWidth - 2 * SystemParameters.ResizeFrameVerticalBorderWidth;
27             double height = ActualHeight - 2 * SystemParameters.ResizeFrameHorizontalBorderHeight - SystemParameters.CaptionHeight;
28 
29             Point ptMouse = e.GetPosition(this);
30             ptMouse.X /= width;
31             ptMouse.Y /= height;
32 
33             if (e.ChangedButton == MouseButton.Left)
34             {
35                 brush.Center = ptMouse;
36                 brush.GradientOrigin = ptMouse;
37             }
38             else if (e.ChangedButton==MouseButton.Right)
39             {
40                 brush.GradientOrigin = ptMouse;
41             }
42         }
43 
44     }
45     
46     #endregion

 

 

第八个示例

 

ExpandedBlockStart.gifFollowTheRainbow P52
 1     #region FollowTheRainbow P52
 2 
 3     /// <summary>
 4     /// 同心圆的渐变
 5     /// </summary>
 6     class RotateTheGradientOrigin : Window
 7     {
 8         [STAThread]
 9         static void Main()
10         {
11             Application app = new Application();
12             app.Run(new RotateTheGradientOrigin());
13         }
14         RadialGradientBrush brush;
15         double angle;
16 
17         public RotateTheGradientOrigin()
18         {
19             Title = "Rotate The Gradient Origin";
20             this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
21             Width = 384;
22             Height = 384;
23             brush = new RadialGradientBrush(Colors.White, Colors.Blue);
24             brush.RadiusX = brush.RadiusY = .10;
25             brush.SpreadMethod = GradientSpreadMethod.Repeat;
26             //Background = brush;
27             Background = new LinearGradientBrush(Colors.Red, Colors.Blue, new Point(00), new Point(11));
28 
29             //BorderBrush = Brushes.SaddleBrown;
30             //BorderThickness = new Thickness(25, 50, 75, 100);
31             BorderBrush = new LinearGradientBrush(Colors.Red, Colors.Blue, new Point(00), new Point(11));
32             BorderThickness = new Thickness(50);
33 
34             DispatcherTimer timer = new DispatcherTimer();
35             timer.Interval = TimeSpan.FromMilliseconds(100); ;
36             timer.Tick += timerOnTick;
37             timer.Start();
38         }
39 
40 
41 
42         void timerOnTick(object sender, EventArgs e)
43         {
44 
45             Point pt = new Point(.5 + .05 * Math.Cos(angle), .5 + .05 * Math.Sin(angle));
46             brush.GradientOrigin = pt;
47             angle += Math.PI / 6;//ie ,30 degrees
48         }
49     }
50 
51     #endregion

 

 

       本章主要是通过示例对WPF中各种画刷的使用进行了练习,通过这些练习熟悉了对简单画刷和渐变画刷的各种使用。

       贯例,帖张图作为对自己的奖励

        

 

       下一章将继续WPF学习之旅,内容就是 WPF中的 Content。

 

 

 

 

转载于:https://www.cnblogs.com/l6098627/archive/2009/12/07/1618551.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱论文阅读(二十)【WWW2020】Heterogeneous Graph Transformer

题目&#xff1a; Heterogeneous Graph Transformer 论文链接&#xff1a; https://arxiv.org/abs/2003.01332 代码链接&#xff1a;https://github.com/acbull/pyHGT 论文 异构图研究之一&#xff1a; 使用元路径来建模异构结构 heterogeneous graphs 《Mining Heterogeneous…

LeetCode 1287. 有序数组中出现次数超过25%的元素

1. 题目 给你一个非递减的 有序 整数数组&#xff0c;已知这个数组中恰好有一个整数&#xff0c;它的出现次数超过数组元素总数的 25%。 请你找到并返回这个整数 示例&#xff1a; 输入&#xff1a;arr [1,2,2,6,6,6,6,7,10] 输出&#xff1a;6提示&#xff1a; 1 < arr…

你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)

你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)2009-12-03 01:09 by Tower Joo, 3741 visits, 网摘, 收藏, 编辑 你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的) 本博客所有内容采用 Creative Commons Licenses 许可使用.…

vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者

v-if 和 v-show 的区别v-if只会在满足条件时才会编译&#xff0c;而v-show不管是否满足条件始终会编译&#xff0c;v-show的显示与隐藏只是简单的切换也就是说&#xff0c;在使用v-if时&#xff0c;若值为false&#xff0c;那么页面将不会有这个使用场景一般来说&#xff0c;v-…

知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering

题目&#xff1a;Neural Graph Collaborative Filtering 代码&#xff1a; https://github.com/xiangwang1223/neural_graph_collaborative_filtering 本文参考了博文 想法 &#xff08;1&#xff09;其实是很有缺点&#xff0c;在消息传播中&#xff0c;只是使用了邻居与目…

[推荐]VMware Workstation 6.5虚拟机(汉化补丁+注册机+原版安装文件)

VMware虚拟机6.5 新版虚拟机过了近一年的开发&#xff0c;VMware Workstation 6.5终于正式发布了。 这个增强版的Vmware Workstation 6.5不仅将3D加速带到了虚拟机平台&#xff0c;而且新增的Unity模式更是改变了虚拟机应用的模式。 VMware Workstation 6.5新特性有&#xff1a…

bootstrap获取弹框数据_Bootstrap模态弹出框的实例教程

前面的话在 Bootstrap 框架中把模态弹出框统一称为 Modal。这种弹出框效果在大多数 Web 网站的交互中都可见。比如点击一个按钮弹出一个框&#xff0c;弹出的框可能是一段文件描述&#xff0c;也可能带有按钮操作&#xff0c;也有可能弹出的是一张图片。本文将详细介绍Bootstra…

知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks

题目&#xff1a; Multi-behavior Recommendation with Graph Convolutional Networks 论文地址&#xff1a; 论文代码&#xff1a; 想法 将相同行为的交互方式进行了聚合来计算user Embedding和item Embedding 创新 模型要做的事情就是user-item传播层学习行为影响力度&am…

LeetCode 1200. 最小绝对差

1. 题目 给你个整数数组 arr&#xff0c;其中每个元素都 不相同。 请你找到所有具有最小绝对差的元素对&#xff0c;并且按升序的顺序返回。 示例 1&#xff1a; 输入&#xff1a;arr [4,2,1,3] 输出&#xff1a;[[1,2],[2,3],[3,4]]示例 2&#xff1a; 输入&#xff1a;ar…

在mojoportal项目中发邮件使用的是dotnetopenmail

[翻译]开源发送邮件组件dotnetopenmail使用介绍 在mojoportal项目中发邮件使用的是dotnetopenmail介绍发邮件是非常简单的,不管用System.web.mail [ASP.NET 1.1]或System.Net.mail [ASP.NET 2.0],但是还是有其他第三方组件可以被使用,比如DotNetOpenMail.他可以使你用最少的代码…

怎么看表_干货 | 剪力墙、柱、板配筋率到底怎么算?

干货 | 剪力墙、柱、板配筋率到底怎么算&#xff1f;正在努力的阿源 北京峰源结构设计 剪力墙&#xff08;纯剪力墙&#xff09;1.一般部位墙厚高规7.2.1条及抗规6.4.1条&#xff0c;对于一般部位&#xff0c;一、二级不应小于160mm且不宜小于层高或无支长度的1/20&#xff0c;…

(二十四)【2021 ACL】OntoED: Low-resource Event Detection with Ontology Embedding

题目&#xff1a; OntoED: Low-resource Event Detection with Ontology Embedding 论文链接&#xff1a; https://arxiv.org/abs/2105.10922 论文代码&#xff1a;https://github.com/231sm/Reasoning_In_EE 论文 什么原型&#xff1f; Prototypical networks for few-shot …

哈尔滨理工C语言程序设计精髓_【注意啦】哈尔滨工业大学2020考研计算机专业课调整,难度提升!...

前言&#xff1a;最近各高校在密集调整计算机相关专业的专业课&#xff0c;从热门985高校、211高校到普通本科&#xff0c;许多学校的专业课都进行了调整。各高校通常会发布专业课调整通知或者直接发布2020研究生招生专业目录&#xff0c;请各位同学多多关注相关信息。哈尔滨工…

数据恢复软件(绝对真实可用)

本软件已经本人测试&#xff0c;这个数据恢复软件是我用过的感觉最好用的一个了。声明&#xff1a;我是在我电脑没有重装系统的前提下进行测试的。小小的这么一个绿色软件&#xff0c;还真的可以找回大部分删除了N久的文件。感觉很爽。现给大家展示几张我测试时的截图&#xff…

LeetCode 1221. 分割平衡字符串

1. 题目 在一个「平衡字符串」中&#xff0c;‘L’ 和 ‘R’ 字符的数量是相同的。 给出一个平衡字符串 s&#xff0c;请你将它分割成尽可能多的平衡字符串。 返回可以通过分割得到的平衡字符串的最大数量。 示例 1&#xff1a; 输入&#xff1a;s "RLRRLLRLRL"…

安装pp框架

第一步&#xff1a; 创建环境 conda create --name pp37 python3.7 第二步&#xff1a; 激活环境 conda activate pp37 第三步&#xff1a; 官方安装 conda install paddlepaddle-gpu2.1.3 cudatoolkit10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/clou…

基础算法学习(二)_二叉树及应用赫夫曼编码

这次学习的重点在于二叉树的性质、链式存储结构&#xff08;也就是C语言的struct&#xff09;和赫夫曼编码&#xff0c;学习的教材是清华大学出版社出版的C语言版数据结构。 首先是二叉树&#xff1a; 二叉树&#xff08;Binary Tree&#xff09;是另一种树形结构&#xff…

LeetCode 1222. 可以攻击国王的皇后(set)

1. 题目 在一个 8x8 的棋盘上&#xff0c;放置着若干「黑皇后」和一个「白国王」。 「黑皇后」在棋盘上的位置分布用整数坐标数组 queens 表示&#xff0c;「白国王」的坐标用数组 king 表示。 「黑皇后」的行棋规定是&#xff1a;横、直、斜都可以走&#xff0c;步数不受限…

win10开始菜单添加磁贴_Windows 10开始菜单磁贴美化教程

前言我们都知道&#xff0c;Windows 10在美化上可没有下足功夫&#xff0c;尤其是开始菜单的磁贴上。几年前&#xff0c;我们还觉得这种磁贴设计在大众面前焕然一新&#xff0c;可是近几年来&#xff0c;也没见磁贴有什么起色&#xff0c;除了不能自定义背景颜色外&#xff0c;…

【Text_Classification】学习到的语法知识

1. 任务 1.1 字典中每个种类的准确率 分母&#xff1a; 首先计算每个种类的总数&#xff01; for value in label:# get(value, num)函数的作用是获取字典中value对应的键值, num0指示初始值大小。label_cout[value] label_cout.get(value, 0) 1label_acc[value] label_a…