无语博客

花儿死翘翘


您的位置: 首页 编程日志 正文

接前一天,高兴得太早

就在昨天以为解决问题了,写完文章,手贱又去试了一下,不行。

因为一开始试的是旋转180度。没问题,改成了30度的旋转,就不行了。

圆不够圆。

今早,继续测试。

想差会不会是画圆的命令画不了这么圆,主要是有搞锯齿,觉得是不是因为锯齿的清晰度,导致转的时候看上去圆是椭的。

试了新方法,把画笔宽度设置成1,然后比如需要宽为24的圆,就画24个大小相邻的圆,这样,总不变形了吧。

一试,还是不行。

然后又使用路径的方式来画。

也就是弄一个圆外边的路径+圆最里面的路径,然后填充,一试,还是不行。

好吧,我认识到了,真是的旋转命令有问题。

在旋转归位之后,可能是计算中心位置的问题,导致了会有1个像素的差距,那么转起来,就会看上去像椭的一样。

没办法,只能另想办法。

一种是用前面提到的存360张图的方法。

第二种是每次转运的按当前角度来重新画奖盘。

第一种,一试。内存要700M。

这个不是重点。

重点是画360张图并保存,大概要用10秒左右的时间。

这个,太久了。

虽然我个人觉得在打开软件的时候初始化个十秒也没什么,但毕竟这是下下策。

第二种,一试。也不行。

CPU太高,达到12%。

因为我是八核的CPU。如果是单核CPU,其实也就是到100%了。

而且在转盘快停的时候,也就是每一度一度的转时,画的速度跟不上转的速度。

就导致了0.5秒才会转一下,太慢这样。

中午回去吃饭,想了下,用两种兼容的来写。

把转盘分为两个部份。

一个是不动的部分,一个旋转的部分。

不动的部分比较外边纯色的圆。这个就可以画在一张图上,保存着。

然后旋转的部分又有两个。

为了说明简单。

假设不动的部分为图层1。

动的有两个。一个是中间的奖盘,为图层2,一个是外边的12多个小圆点,为图层3。

其中,最底层的是图层2,中间是图层1,最上边是图层3。

然后把它们分开画好,存在不同的位图。

当要奖盘转运的时候。就使用旋转命令,把图层2和3都按角度旋转一下。

然后按2,1,3的顺序画出来。

虽然用旋转命令会导致看上去有一两个像素的差别,像椭圆。

但是因为静止的图层1是压在图层2的上边的。看不到图层1的周边,所以看不出它是椭的。

而还有个问题,就是图层3,明显能看出是不圆的。这个暂时也没想到什么好的办法。

先就这样吧。

本文地址:https://www.wuyublog.com/bianchengrizhi/459.html,来源于【无语博客】,欢迎转载,转载请注明出处。
发表评论: