【WIN10】WIN2D——基本圖形的繪製

DEMO下載地址:http://yunpan.cn/c3iNuHFFAcr8h (提取码:8e48)

 

先看一個截圖:

 

繪製了一些基本形狀。

DEMO的繪製代碼都非常簡單,不想在博客裡細說了,看代碼更為清晰些。

 

可能繪製扇形的代碼有些麻煩些。

微軟是使用鐘錶的轉動方向(順時針)作為弧度運轉方向的,所以角度30度,是會在x座標下的,而不是通常的在x座標上面。

 

帖一下畫鐘錶的代碼,是非常簡單的:

        private void clock_Draw(CanvasControl sender, CanvasDrawEventArgs args){float radius = (float)sender.ActualWidth / 2 - 4;Vector2 center = new Vector2((float)sender.ActualWidth / 2, (float)sender.ActualWidth / 2);for (int i = 0; i < 60; ++i){int borderSize = 1;Vector2 begin = new Vector2(radius  + center.X - 3, center.Y);Vector2 end = new Vector2(radius + center.X, center.Y);if (i % 15 == 0){borderSize = 4;begin = new Vector2(center.X + radius - 15, center.Y);                    }else if (i % 5 == 0){borderSize = 2;begin = new Vector2(radius + center.X - 10, center.Y);}args.DrawingSession.Transform = Matrix3x2.CreateRotation(TimeValue2Radion(i, 60), center);args.DrawingSession.DrawLine(begin, end, Color.FromArgb(255, 255, 255, 255), borderSize);}args.DrawingSession.DrawCircle(center, radius, Color.FromArgb(255, 255, 255, 255), 2);// 結點處是圓,指向處為三角CanvasStrokeStyle lineStyle = new CanvasStrokeStyle();lineStyle.StartCap = CanvasCapStyle.Round;lineStyle.EndCap = CanvasCapStyle.Triangle;// 時針float hours = DateTime.Now.Hour % 12 + DateTime.Now.Minute / 60.0f + DateTime.Now.Second / 60.0f / 24.0f; // 12小時制float intervalHours = hours - 3.0f; // 3點是0度float hourRadian = TimeValue2Radion(intervalHours, 12);args.DrawingSession.Transform = Matrix3x2.CreateRotation(hourRadian, center);args.DrawingSession.DrawLine(center, new Vector2(center.X + 80, center.Y), Color.FromArgb(255, 255, 255, 255), 5, lineStyle);// 分針float minutes = DateTime.Now.Minute+ DateTime.Now.Second / 60.0f;float intervalMinutes = minutes - 15; // 15分钟是0度float minuteRadian = TimeValue2Radion(intervalMinutes, 60);args.DrawingSession.Transform = Matrix3x2.CreateRotation(minuteRadian, center);args.DrawingSession.DrawLine(center, new Vector2(center.X + 100, center.Y), Color.FromArgb(255, 255, 255, 255), 2, lineStyle);// 秒針float seconds = DateTime.Now.Second;float intervalSeconds = seconds - 15; // 15秒是0度float secondRadian = TimeValue2Radion(intervalSeconds, 60);args.DrawingSession.Transform = Matrix3x2.CreateRotation(secondRadian, center);args.DrawingSession.DrawLine(center, new Vector2(center.X + 120, center.Y), Color.FromArgb(255, 255, 255, 255));}private float TimeValue2Radion(float intervalTime, int total){return intervalTime / total * 360 * (float)Math.PI / 180;}

 

 

因為今天只寫了這麼一個例子,就先發一個了。

後面再一一補上。

转载于:https://www.cnblogs.com/lin277541/p/5059489.html

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

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

相关文章

python socket 网络编程

socket 套接字&#xff1a;网络接口。 我们在网络上需要传输自己需要的数据&#xff0c;我们在网络上传输数据使用的是网络协议&#xff0c; 而套接字就是我们将数据从本地采用协议传输的接口 socket模型&#xff1a; socket族&#xff1a; #AF_UNIX 被使用在类unix系统之间进行…

Python中利用plt显示中文标题解决方案

解决方法 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False plt.title(灰度级别频率图) plt.show()

Pytorch基础(四)—— 卷积层

一、概念 卷积从数学的角度讲是一种矩阵的运算方法。我们可以用一个卷积核对一个矩阵进行卷积运算&#xff0c;具体运算过程图示可以见pytorch官网。 卷积运算按输入数据的通道数可分为单通道和多通道两种。 单通道是指卷积核只有一个的情况。 多通道包括两种。 分别是单个…

【图像处理】——创建一个新的图片

方法一:直接复制一个已经存在的图片 img.copy() 如果是想生成一个指定大小的图片,则可以通过numpy数组进行创建 方法二:通过numpy创建(注意有坑) img = numpy.zeros((h,w))#h,w是指定的图像的高和宽,这样看似可以其实不然上述方法得到的图像不是8位的,但是图像数组的…

How to make a Logical Volume ON AIX5.3

本文转自 xkdcc 51CTO博客&#xff0c;原文链接&#xff1a;http://blog.51cto.com/brantc/116431&#xff0c;如需转载请自行联系原作者1. 确定要建立的卷大小&#xff0c;比如700M 2. 检查要建立逻辑卷的卷组上的PP大小&#xff08;PP:物理分区&#xff0c;PP si…

Pytorch基础(五)—— 池化层

一、概念 池化就是把数据压缩的过程&#xff0c;属于下采样的一种方法&#xff0c;可以显著降低神经网络计算复杂度&#xff0c;减少训练中的过拟合&#xff0c;同时可以使数据具有一定的不变性。 池化从方法上来讲可以分为average Pooling、max Pooling、Overlapping Poolin…

Pytorch基础(六)——激活函数

一、概念 激活函数顾名思义&#xff0c;就是一种可以给神经网络注入灵魂的一种方法&#xff0c;也可以称之为激活层。其计算就是将线性的函数转变为非线性函数的过程&#xff0c;只有这样&#xff0c;我们制作的深层神经网络才能无限逼近真实值。 自神经网络发展到目前为止&am…

【NOIP 模拟题】[T1] 等差数列(dp)

【题解】【dp】 【f[i][j]表示以i为结尾&#xff0c;j为公差的子序列个数】 【要注意有负数&#xff0c;所以将公差1000】 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int const p9901; int f[1010][2010],n,a[1010]; lo…

走在网页游戏开发的路上(十)

页游资源管理 现在页游的规模越来越来大&#xff0c;游戏内容丰富&#xff0c;资源管理变得很重要。现在一款SNS页游的所有资源可达50M&#xff0c;MMO页游更高达几百M&#xff0c;不可能把资源放到一个文件里面、也不可能一次性加载完所有资源。按200kb/s的下载速度来算&#…

Pytorch基础(七)——线性层(全连接层)

一、概念 在神经网络中&#xff0c;我们通常用线性层来完成两层神经元间的线性变换。 按照官网的解释&#xff0c;Linear.weight也即A&#xff0c; 我们可以称之为权重矩阵&#xff0c;对其转置后乘以输入数据(一般都是一维张量)&#xff0c;加上Linear.bias即b偏置。 二、P…

PureMVC(AS3)剖析:吐槽

PureMVC&#xff08;AS3&#xff09;剖析&#xff1a;吐槽 写在前面 世上没有银弹——不存在适用于所有情况的框架&#xff0c;只有适合的框架。再者任何一个好的东西&#xff08;语言、框架等&#xff09;最终还取决于用的人&#xff0c;语言和框架本身并不能保证用户的代码清…

Pytorch基础(八)——正则化

一、概念 正则化在深度学习领域是为了防止训练结果过拟合而采取的一种方法。 1.1 过拟合 过拟合表示模型的泛化能力较差&#xff0c;体现在实际训练模型上就是在训练集表现很好&#xff0c;但是在测试集的效果一般。 过拟合的原因&#xff1a;1&#xff0c;模型过于复杂。2&…

uva 11997 K Smallest Sums 优先队列处理多路归并问题

题意&#xff1a;K个数组每组K个值&#xff0c;每次从一组中选一个&#xff0c;共K^k种&#xff0c;问前K个小的。 思路&#xff1a;优先队列处理多路归并&#xff0c;每个状态含有K个元素。详见刘汝佳算法指南。 1 #include<iostream>2 #include<cstdio>3 #includ…

泛型方法与桥方法

Java泛型中有存在一种方式叫做类型擦除&#xff0c;也就是说泛型在编译期间进行类型检验上做到有效安全&#xff0c;但是在运行当中&#xff0c;会将该泛型类型用顶层父类&#xff08;若无继承关系则用Object&#xff09;代替&#xff0c;然后再进行强转换成目标类型&#xff0…

Pytorch基础(九)——损失函数

一、概念 损失函数在深度学习领域是用来计算搭建模型预测的输出值和真实值之间的误差。 具体实现过程&#xff1a;在一个批次&#xff08;batch&#xff09;前向传播完成后&#xff0c;得到预测值&#xff0c;然后损失函数计算出预测值和真实值之间的差值&#xff0c;反向传播…

Pytorch基础(十)——优化器(SGD,Adagrad,RMSprop,Adam,LBFGS等)

一、概念 Pytorch中优化器的目的&#xff1a;将损失函数计算出的差值Loss减小。 优化过程&#xff1a;优化器计算网络参数的梯度&#xff0c;然后使用一定的算法策略来对参数进行计算&#xff0c;用新的参数来重新进行训练&#xff0c;最终降低Loss。 其中官网提供了13种优化算…

[PyCharm]unindent does not match any outer indentation level解决方法

转载&#xff1a;https://www.jianshu.com/p/b34f30717eb2 问题出现原因 1、代码前后缩进量不一致 2、tab和space混用&#xff08;如果一段代码既使用space又使用tab进行缩进&#xff0c;会发生错误&#xff0c;这个时候PyCharm会自动进行判断&#xff0c;根据设置的预先缩进…

数据结构(复习)--------关于平衡二叉树(转载)

在上一个专题中&#xff0c;我们在谈论二叉查找树的效率的时候。不同结构的二叉查找树&#xff0c;查找效率有很大的不同&#xff08;单支树结构的查找效率退化成了顺序查找&#xff09;。如何解决这个问题呢&#xff1f;关键在于如何最大限度的减小树的深度。正是基于这个想法…

天猫双11凭什么达到1682亿?这些支撑技术或许可以告诉你

历年「双 11」都会掀起一股买买买的购物热潮 阿里巴巴将这个原本普通的日子赋予了非凡的意义 今年&#xff0c;天猫以 1682 亿的成交额再破记录 而在这一系列疯狂“秒杀”动作的背后 有一个叫云化架构的技术体系支撑着十几亿人的消费狂欢 12 月 8 日 ArchSummit 阿里技术专场 来…