如何将简单的几何图形组合在一个对象中
How combine simple geometric figures in one object?
我用简单的几何图形绘制圆柱体。例如:
PAINTSTRUCT ps;
hdc=BeginPaint(hWnd,&ps);
pen1=CreatePen(PS_SOLID,3,RGB(0,0,0));
SelectObject(hdc,pen1);
Arc(hdc,10,10,200,100,40,40,40,40);
MoveToEx(hdc,10,50,NULL);
LineTo(hdc,10,200);
MoveToEx(hdc,199,50,NULL);
LineTo(hdc,199,200);
Arc(hdc,10,150,200,250,10,199,200,200);
DeleteObject(pen1);
EndPaint(hWnd,&ps);
如何将所有图形组合在一个复杂对象中并使用它?也许有一些函数可以做到这一点或创建我自己的函数?
像这样的复杂对象可能最好使用图元文件构建(假设你想坚持使用原始 GDI)。
首先使用 CreateEnhMetafile 创建一个图元文件,它为您提供了一个可以绘制的虚拟 DC。 然后,使用 GDI 调用绘制到 DC。 绘制完成后,调用 CloseEnhMetaFile,然后调用 GetEnhMetaFileBits 将图元文件复制到缓冲区中。
若要绘制图元文件,请将图元文件检索到缓冲区中,调用 SetEnhMetaFileBits 以创建图元文件句柄,然后调用 PlayEnhMetaFile 来绘制它。 您可以设置变换来平移/剪切/缩放图元文件。
相关文章:
- 为什么我不能将一个对象push_back到属于另一个类的对象向量中?
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- 从多个源构造一个对象,包括一个对象向量
- 为什么C++在将一个对象复制到另一个对象时需要对这两个对象进行低级常量限定
- 检查哪个对象调用了另一个对象的对象方法
- C++ 如何在将新对象分配给另一个对象时创建新对象
- 如何处理从一个对象传递到另一个在C++中具有公共抽象类的对象的消息
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 包装一个对象并假装它是一个 int
- 为什么我可以在不重载 "=" 运算符的情况下将一个对象分配给另一个对象?
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- 如何使用函数将一个对象的输入复制到另一个对象中
- 选择一个元素而不是一个对象的数组的原因
- 为什么我可以使用 memcpy 将一个对象变量复制到另一个对象变量
- 如何将包含另一个对象向量的对象保存到文件中,并使用C++中的二进制文件从文件中读回?
- 我重载了 << 和 = 运算符。为什么当我将一个对象分配给另一个对象并尝试打印它时,我会被打印出来?
- 打印对象的映射,其中另一个对象作为键
- 如何通过另一个对象中的命令正确地从一个对象返回数据
- Qt C++根据组合框中的选择创建一个对象
- 如何将简单的几何图形组合在一个对象中