《Graphics2D使用详解.docxVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Graphics2D使用详解

Graphics2D 使用详解Java 2D - How the Graphics2D Class Renders 正如我们在前面提到的,我们可以对Graphics2D类进行多项设置。实际上,渲染引擎在绘制Graphics2D图形前会查看7个主要的属性:PaintStrokeFontTransformationClipping spaceRendering hintsCompositing rule让我们逐一讲解:Paint新的paint可以同时作用在边线和填充上了。Graphics2D类可以用setPaint()和getPaint()方法配制paint属性: g2.setPaint(java.awt.Paint paint);????? Paint paint = g2.getPaint();paint可以是单色,渐变和图案。任何paint都需要实现java.awt.Paint接口。Java 2D类库中有三个类你应该感到熟悉:java.awt.Color:?Java 2D使用同样的常量。因为Color类实现了java.awt.Paint接口,所有的Color对象都是Paint对象。java.awt.GradientPaint:这个类用颜色渐变填充一个区域。构造函数制定比例和颜色。图形引擎会从第一个点到第二个点之间线性变化两个颜色。我们还可以指定颜色图案是否允许重复。java.awt.TexturePaint:?这个类平铺一个图像来填充图形。构造函数接收一个java.awt.image.BufferedImage和一个Rectangle2D,把图像影射到矩形里,然后平铺矩形。图3 显示java.awt.GradientPaint和java.awt.TexturePaint的实例。图 3. GradientPaint 和 TexturePaint建立一个BufferedImage来保存图像相对是更直接的方法。在BufferedImage的构造函数里制定长,宽,高,类型为BufferedImage.TYPE_INT_RGB,然后调用createGraphics()方法得到一个Graphics2D。如果要用图片的话就需要更多的步骤。首先,从一个图片文件里读入Image对象,用MediaTracker保证图片完全读入,然后建立和Image对象等宽高的空BufferedImage对象。通过createGraphics()方法得到Graphics2D对象,最后把Image对象加载到bufferedImage里。Stroke描边决定着图形或文字的轮廓。通过setStroke()方法定义描边:: ????? g2.setStroke(java.awt.Stroke stroke);java.awt.Stroke stroke = g2.getStroke();在Java 2D出现以前,java.awt.Graphics的描绘方法产生一个1像素宽的实线边。Java 2D API给你更灵活的描边选择。边缘即可以是粗细不等的实线,也可以是等宽点线。setStroke()方法的参数必须实现java.awt.Stroke接口。现在java.awt.BasicStroke类是唯一实现的类。下面是BasicStroke的构造函数:BasicStroke():这个构造建立一个1单位宽的描边。端点样式是默认的CAP_SQUARE,默认接头样式是默认的 JOIN_MITER。BasicStroke(float penWidth):?指定线宽,端点样式使用默认的CAP_SQUARE,默认接头样式使用默认的 JOIN_MITER。BasicStroke(float penWidth, int capStyle, int joinStyle):?指定线宽,端点样式和接头样式。BasicStroke(float penWidth, int capStyle, int joinStyle, float miterLimit):基本同上,但可以设置拼接连接的延长度,默认是10。BasicStroke(float penWidth, int capStyle, int joinStyle, float miterLimit,float[] dashPattern, float dashOffset):这个构造可以通过一个表明[透明,不透明的]数组,建立点线轮廓。offset是点线的起始位置,一般是0,0。正如这5个构造函数所示,BasicStroke类允许设定端点样式。型如下:java.awt.BasicStroke.CAP_BUTT: 端点直接切断。java.awt.BasicStroke.CAP_ROUND: 以线宽为直径的圆形端点。java.awt.BasicStrok

文档评论(0)

1789811832 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档