如何实现自己的图形剪辑?
Posted
技术标签:
【中文标题】如何实现自己的图形剪辑?【英文标题】:How to implement my own graphics clipping? 【发布时间】:2013-05-13 10:58:22 【问题描述】:我的计算机图形课程有一个任务。我必须创建一个具有以下功能的应用程序:
-
屏幕上漂浮着一只海豚,用户可以四处移动,
海豚身上布满了某种图案;
底部有水波,填充了一些颜色,左右移动;
当海豚潜入海浪之下时,海豚与海浪的交汇处应填充一些不同的颜色。
任务是关于剪裁。我应该有自己的函数:myFill
,它接受Color
和Polygon
作为参数,myClip
,它接受两个Polygon
s 并返回它们的交集。在myFill
我应该使用扫描线,这个函数的复杂度为 O(1)。
我的主要问题是 - 从哪里开始?我应该使用 Windows 窗体还是 WPF 来完成这项任务?如果我使用带有一些多边形的 WPF、Canvas(InkCanvas?)如何逐行填充它们?哪些课程会有帮助?
【问题讨论】:
【参考方案1】:我建议你问老师。 WPF 和 Windows 窗体是“高级”图形库,内置提供多边形填充和剪切。你需要一些“低级”的东西,因为使用任何一个都会破坏作业的目的。
话虽如此,你可以使用它们,只要你避免高层次的东西。在 WPF 中,您可以使用 WriteableBitmap 类来访问单个像素。在 WinForms 中,您可以使用 PictureBox 和 Bitmap 来获得相同的功能。
【讨论】:
以上是关于如何实现自己的图形剪辑?的主要内容,如果未能解决你的问题,请参考以下文章