主题:救命呀!!快进来帮帮忙!!!
honey_bin
[专家分:0] 发布于 2003-04-22 15:18:00
我在编图形程序(用的是borland c++,在dos地下编程)时遇到了一个问题:我想将图形(比如说一个波形)画在一个区域内,而不能超出这个区域,请问用什么方法?
我现在用setviewpout()函数来做,但是我怎么才能取消当前设定的这个图形区域呢?
比如说我当前调用了setviewport(100,100,300,300);之后我想回到setviewport(0,0,640,480),为什么不行呢?请高手教教小弟!谢谢了!!
回复列表 (共3个回复)
沙发
ALeay [专家分:0] 发布于 2003-04-23 13:22:00
class cGraph
{
private :
struct viewporttype m_sViewInfo;
public :
int SetViewPort(int,int,int,int,int);
int ReleaseViewPort();
}
int cGraph::SetViewPort(int left,int top,int right,int bottom,int style)
{
getviewsettings(&m_sViewInfo);
setviewport(left,top,right,bottom,style);
return 0;
}
int cGraph::ReleaseViewPort(void)
{
setviewport(m_sViewInfo.left,m_sViewInfo.top,
m_sViewInfo.right,m_sViewInfo.bottom,
m_sViewInfo.clip);
return 0;
}
板凳
honey_bin [专家分:0] 发布于 2003-04-25 09:55:00
谢谢!!!
3 楼
meteor135 [专家分:6060] 发布于 2003-04-26 21:37:00
其实有一个直接原因,就是那个坐标超出了范围,最大应为
(0,0,639,479)。
我来回复