刘力
论坛版主
论坛版主
  • UID324
  • 粉丝3
  • 关注2
  • 发帖数19
阅读:26373回复:1

五角星、菱形等特殊图形简便画法

楼主#
更多 发布于:2017-12-01 16:48
如果遇到需要画较特殊的图形时,除了计算坐标点画外,此处提供一个比较简便的画法:(前提是能够找得到此图形的特殊字符)
1.例如五角星和菱形等能够找得到的特殊字符:★、◇、◆......可以直接用Graphics的drawString或DrawText方法直接画出图形,示例代码如下:
       graphics.drawString("★", x, y); //x和y为对应的坐标位置
       graphics.drawText("◇", x, y); //x和y为对应的坐标位置
       graphics.drawString("◆", x, y); //x和y为对应的坐标位置
2.用此方法画出的图形初始默认的边框和颜色为黑色,如果需要修改颜色的话,则通过Graphics的setForegroundColor方法,实例代码如下:
       graphics.setForegroundColor(Color rgb);
/*rgb可以用ColorConstants.white或者通过SWTResourceManager.getColor(hex2RgbObj(str)); str则为对应的颜色的编码,如:#000000,#FFFFFF等*/
3.用此方法画出的图形初始大小比较小,如果需要修改图形的大小,则可以通过Graphics的setFont方法修改字体的大小来实现,实例代码:
      graphics.setFont(SWTResourceManager.getFont("Helvetica", 25, SWT.NULL));
优点:此方法画出的图形锯齿不会很明显
缺点:如果需要能够自由且不规则的改变大小时,则不能用此方法画出的图形。用此方法画出的图形,因为此图形只能等比放大或缩小。


具体的效果如图所示
[刘力于2017-12-04 16:03编辑了帖子]

最新喜欢:

胡明胡明 何万里何万里
陶甄
新手
新手
  • UID380
  • 粉丝2
  • 关注2
  • 发帖数3
沙发#
发布于:2017-12-02 13:52
来,互粉一波
游客

返回顶部