如何实现我自己的图形剪辑?

时间:2013-05-18 10:24:25

标签: c# .net wpf winforms clipping

我的计算机图形课程有一项任务。我必须创建一个具有以下功能的应用程序:

  1. 屏幕上漂浮着一只海豚,用户可以移动它,
  2. 海豚充满了一些模式;
  3. 在底部,有水波,充满了一些颜色,它们左右移动;
  4. 当海豚在海浪下时,海豚与海浪的交汇处应该填充不同的颜色。
  5. 任务是削减。我应该拥有自己的函数:myFill,其作为参数ColorPolygon,以及myClip,它需要两个Polygon并返回它们的交集。在myFill我应该使用扫描线,这个函数有复杂度O(1)。

    对我来说,主要的问题是 - 从哪里开始?我应该使用Windows窗体或WPF执行此任务吗?如果我使用WPF,Canvas(InkCanvas?)和一些多边形,我如何逐行填充它们?哪些课程会有所帮助?

1 个答案:

答案 0 :(得分:0)

我建议你问老师。 WPF和Windows Forms是“高级”图形库,提供内置的多边形填充和剪切。你需要一些“低级别”的东西,因为任何一个都会破坏作业的目的。

话虽如此,只要您避免使用高级内容,就可以使用它们。在WPF中,您可以使用WriteableBitmap类来访问单个像素。在WinForms中,您可以使用PictureBox和Bitmap来获得相同的功能。