How to draw smooth watch hand?

Former Member
Former Member
Hi,

I am developing a watch face for my Fenix 3 HR. By passing 5 points into dc.fillPolygon(points) method, I would like to draw a watch hand with a pentagon shape. It works fine by and large except the edge is not smooth. And I also noticed that some edge is smoother than the others, and this situation varies as they rotate.

After researching this issue, it seems to me that there is no existing solution or using dc.drawPoint(x,y) to simulate instead. But I found the latter does not get any better noticeably. So I am wondering what is the recommended way to address this issue, probably just as well as some of the developers had done, e.g. Eurostile: https://apps.garmin.com/en-US/apps/cac24092-ead0-483a-841d-ced73fd970e2

Thanks in advance for the help!
  • Hi,

    I am developing a watch face for my Fenix 3 HR. By passing 5 points into dc.fillPolygon(points) method, I would like to draw a watch hand with a pentagon shape. It works fine by and large except the edge is not smooth. And I also noticed that some edge is smoother than the others, and this situation varies as they rotate.

    After researching this issue, it seems to me that there is no existing solution or using dc.drawPoint(x,y) to simulate instead. But I found the latter does not get any better noticeably. So I am wondering what is the recommended way to address this issue, probably just as well as some of the developers had done, e.g. Eurostile: https://apps.garmin.com/en-US/apps/cac24092-ead0-483a-841d-ced73fd970e2

    Thanks in advance for the help!


    You will notice that the file size of that watch is relatively large compared to other watchfaces.
    My guess is that the developer of Eurostile uses images that has already been anti-aliased in a graphics editor. Possibly 120 of them!
    I think the hands are not drawn as polygons in the watchface, but rather 60 hour and 60 minute hand images are being utiized.

    Hope this gives you some idea that you could explore.