zoukankan      html  css  js  c++  java
  • C#绘图工具之Rotate

          中间的一段时间因为要为下个项目做准备,暂时放下了绘图工具方面的学习,封装了一个TCP的类。最近总算把手上的一些杂活弄完了,继续研究GDI方面的知识。

          记得在绘图工具之Redim那一讲中有提到接下来是要说说Rotate功能的实现,那这一讲就看看Rotate的效果。先看看截图吧。

         

          在旋转功能的实现中有两个知识点需要特别说明一下,一个是基于基点按照一定的角度旋转后得到一个新点,这个完全是数学方面的知识,可以很容易的推导出公式(x_new=x_old*cosa-y_old*sina,y_new=x_old*sina+y_old*cosa),自己写个函数封装一下就OK了。还有一个就是元素的旋转,在GDI中提供的类中有一个GraphicsPath,其中有个Transform(Matrix)的方法,既然参数需要矩阵,我们就定义一个矩阵,Matrix.RotateAt(Angle,基点),感觉一切都很顺理成章。旋转中搞清楚了这两个也就很容易实现了。

           接下来的一些任务就是如何实现圆弧和圆,以及一些文本的绘制功能,这些还需要自己去研究和学习,当然了,如果大家想学习的话,看代码是最好的办法,可以Email给我,我把源代码发给大家!!

          下载地址:https://files.cnblogs.com/wangyong/vectshapes.rar

  • 相关阅读:
    课堂作业04 2017.10.27
    课程作业 03 动手动脑 2017.10.20
    课程作业 03 2017.10.20
    HDU 3974 Assign the task
    POJ 2155 Matrix
    POJ 2481 Cows
    HDU 3038 How Many Answers Are Wrong
    CS Academy Array Removal
    POJ_1330 Nearest Common Ancestors LCA
    CF Round 427 D. Palindromic characteristics
  • 原文地址:https://www.cnblogs.com/wangyong/p/2010636.html
Copyright © 2011-2022 走看看