新手求助pDC->SetViewportExt()的参数问题
pDC->SetWindowOrg(1750,2800);pDC->SetWindowExt(1780,2830);pDC->SetViewportExt(1e+4,1e...
pDC->SetWindowOrg(1750,2800);
pDC->SetWindowExt(1780,2830);
pDC->SetViewportExt(1e+4,1e+4);
pDC->Rectangle(1750,2800,1780,2830);
这里按道理x方向上每个逻辑单元的像素系10000/(1780-1750),y方向上每个逻辑单元的像素是10000/(2830-2800).
按理说这段代码画出来的效果跟
pDC->SetWindowOrg(0,0);
pDC->SetWindowExt(30,30);
pDC->SetViewportExt(1e+4,1e+4);
pDC->Rectangle(0,0,30,30);
应该是一样的啊
可是为什么上面的代码画了个很小的矩形,而上面的代码画的矩形很大呢?
这里参数到底有什么影响呢?求教 展开
pDC->SetWindowExt(1780,2830);
pDC->SetViewportExt(1e+4,1e+4);
pDC->Rectangle(1750,2800,1780,2830);
这里按道理x方向上每个逻辑单元的像素系10000/(1780-1750),y方向上每个逻辑单元的像素是10000/(2830-2800).
按理说这段代码画出来的效果跟
pDC->SetWindowOrg(0,0);
pDC->SetWindowExt(30,30);
pDC->SetViewportExt(1e+4,1e+4);
pDC->Rectangle(0,0,30,30);
应该是一样的啊
可是为什么上面的代码画了个很小的矩形,而上面的代码画的矩形很大呢?
这里参数到底有什么影响呢?求教 展开
1个回答
展开全部
效果肯定不同啊,这里有个比例关系。
如果是这样:
pDC->Rectangle(0,0,100,100);
将会画一个100*100的矩形。
如果是这样:
pDC->SetWindowExt(10240,7680);
pDC->SetViewportExt(1024,768);
pDC->Rectangle(0,0,100,100);
将会画一个10*10的矩形,这个时候矩形的长宽要乘以比例尺 100*(1024/10240),100*(768/7680)
如果是这样:
pDC->Rectangle(0,0,100,100);
将会画一个100*100的矩形。
如果是这样:
pDC->SetWindowExt(10240,7680);
pDC->SetViewportExt(1024,768);
pDC->Rectangle(0,0,100,100);
将会画一个10*10的矩形,这个时候矩形的长宽要乘以比例尺 100*(1024/10240),100*(768/7680)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询