求助,DrawString时, 如何精确,设置字体大小,和字符串输入坐标。。。
求助,DrawString时, 如何精确,设置字体大小,和字符串输入坐标。。。
想做一个,数字小游戏。基本模型已经写好。模块功能代码还没写完。
System::Drawing::Graphics
void DrawString(System::String^ s, System::Drawing::Font^ font, System::Drawing::Brush^ brush, System::Drawing::PointF point)
游戏当前效果, 还没完成。。。
录像4.rar
(2.97 MB)
先说一下,绘制数字块的思路。
1. 例如3X3九宫格。在计算每格宽和输入坐标时难免出现被省掉的小数。
2. 例如,总宽、总高600X600, 600像素在计算机中为0~599. 习惯中计算就是用600计算。
3,在绘制内容的计算中,加都加,减都减,乘都乘,除都除,产生的误差就会相互抵消。成为“0"误差”。
4,在绘制,表格线,绘制“数字块”,移动数字块”会出现四则混合运算,误差很难做到相互抵消。
总上所述,正负1像素的误差,在所难免。。。
绘制数字,如果只绘制数字块,空格放置放置数字时没问题,如果移动数字块,或者俩个数字块互换时,出现误差。
数字块,边缘不能完全重合。就太难看了。
如果,先绘制单元格大小背景色,再绘制数字块,之前的数字块完全被遮盖。
如何绘制单元格大小背景色,出了误差。单元格线条被遮盖就更加难看了。。。。。
我们绘制数字块的方案。。。。
1. 新建,宽、高和单元格相等的空白图片,
2. 在图片中央绘制,宽、高均为图片宽、高90%的背景色正方形。
3. 上,下,左,右。5%的空白透明区。
4. 在图片中央绘制,直径为图片宽、高80%的黑色圆。
5. 在图片中央绘制,大小适中,数字。。。
效果如图,为展示上,下,左,右。5%的空白透明区,
绘制正方形颜色和背景色不同,使用时绘制相同颜色就可以了。。。。。
完美方案,完美主义者(脱了裤子放屁、强迫症患者)的追求。。。。。
只要,写程序时思路清晰。电脑计算,误差完全可以做到相互抵消。。。成为“0"误差”。
如果,写程序。迷迷糊糊(满脑子浆糊)正负1像素的误差,是天经地义的。。。。。。
遇到了一个难道了。
1. 绘制数字时,如何精确,设置字体大小,和输入坐标。
2. 现在,用的是1位数,编写测试的。当出现2位数,3位数时如何精确,设置字体大小,和输入坐标。
用编制数字块函数, 又写一小程序,方便大家,帮我分析调式。。。。
DrawNumber.rar
(4.62 MB)