ZKX's LAB

计算机图形学vc画线 求计算机图形学中画线和圆程序的源代码?

2020-07-23知识13

计算机图形学中用vc写时如何定义要调用的函数? (1)绘制椭圆弧BOOL Arc(int x1,int y1,int x2,int y2,int x3,int y3,intx4,int y4);BOOL Arc(LPCRECT lpRect,POINT ptStart,POINTptEnd);其他绘图函数(2)CRect的构造函数CRect();CRect(int l,int t,int r,int b);CRect(POINT topLeft,POINT bottomRight);绘制矩形void FrameRect(LPCRECT lpRect,CBrush*pBrush);void FillRect(LPCRECT lpRect,CBrush*pBrush);Rectangle(int x1,int y1,int x2,int y2);Rectangle(LPCRECT lpRect);绘制椭圆BOOL Ellipse(int x1,int y1,int x2,int y2);BOOL Ellipse(LPCRECT lpRect);(3)画饼图BOOL pie(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4);BOOL pie(LPCRECT lpRect,POINT ptStart,POINT ptEnd);等等,所以看你要画什么图形,而且还要看看MFC,Windows的API,调用的话,直接调用就可以了。个人觉得你的问题不是很理解,不知道回答得正不正确。求大神发一个计算机图形学程序,要VC++编写的 二维变换 三维变换?这是要用到 opengl吧,单纯的VC+程序很难实现.自学计算机图形学要哪些基础?只用c语言可以吗? 题主目前在国内某985高校读研一,非计算机专业。想自学编程,对计算机图形学比较有兴趣,之前会一些c语言…计算机图形学用vc怎么构建 你是说画图库?vc没有自带耳的画图引擎,你可以一下“easyx”,你面包含了这个头文件,里面都是最简单的画图函数,我贪吃蛇就是拿这个编的。如果可以的话,请采纳下,要分急用。谢谢用C++如何实现bresenham画线算法?计算机图形学上面有个drawpixel的函数。不知道怎么用。 在MFC中可以这样实现:Bresenham算法画直线void CMyView:OnDrawLineByBresenham(){TODO:Add your command handler code hereCDC*pDC=GetDC();CPoint PtBegin(80,130);起始点CPoint PtEnd(320,370);终止点int s1,s2,interchange;double X=PtBegin.x;double Y=PtBegin.y;double deltax,deltay,f,Temp;deltax=abs(PtEnd.x-PtBegin.x);deltay=abs(PtEnd.y-PtBegin.y);if(PtBegin.x-PtBegin.x>;=0)s1=1;else s1=-1;if(PtEnd.y-PtBegin.y>;=0)s2=1;else s2=-1;f=2*deltay-deltax;if(deltay>;deltax){Temp=deltax;deltax=deltay;deltay=Temp;interchange=1;}else interchange=0;for(int i=1;i(deltax+deltay);i+){if(f>;=0){if(interchange=1)X+s1;else Y+s2;pDC->;SetPixel(int(X),int(Y),RGB(0,50,250));f=f-2*deltax;}else{if(interchange=1)Y+s2;else X+s1;pDC->;SetPixel(int(X),int(Y),RGB(200,0,0));f=f+2*deltay;}}}编译环境:VC6.0如何在VC++6.0中使用C语言简单的绘图画图功能 如何在VC+6.0中使用C语言简单的绘图画图功能,许多学编程的都是从C语言开始入门的,而目前的现状是:1.有些学校以TuroC为环境讲C语言,只是TuroC的环境实在太老了,复制粘贴。计算机图形学 4连通 vc++中遇到的问题 pDC是设备类的一个句柄,你没有声明设备类,所以不认识。可以改成Fill_Boundary_4_Connected(int x,int y,COLORREF BoundaryColor,COLORREF InteriorColor)(x,y)种子像素的坐标BoundaryColor边界像素颜色InteriorColor需要填充的内部颜色{ CDC*pDC;pDC=GetDC();if(pDC->;GetPixel(x,y)。BoundaryColor&pDC->;GetPixel(x,y)。InteriorColor)GetPixel(x,y):返回像素的颜色pDC->;SetPixel(x,y,InteriorColor);将像素(x,y)置成填充颜色Fill_Boundary_4_Connected(x+1,y,BoundaryColor,InteriorColor);Fill_Boundary_4_Connected(x,y+1,BoundaryColor,InteriorColor);Fill_Boundary_4_Connected(x-1,y,BoundaryColor,InteriorColor);Fill_Boundary_4_Connected(x,y-1,BoundaryColor,InteriorColor);}而ondraw函数中的CFourconnectedDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);是对文档类的引用的,你画图用的设备类的函数,而不是文档类。另外你在ondraw函数中前面的for循环中话了一个方形,顶角(100,100)(200,200)那么下面调用种子填充函数的时候,种子点必须在方形内,而不是一个顶点上,而且调用的边界线参数应该和你前面画方形的颜色是一致的,否则判断边界会出错。

#计算机图形学#c语言

随机阅读

qrcode
访问手机版