java中属性有哪些类型_java中Graphics2D类属性有哪些?详细解析

上次已经为大家介绍过java中Graphics2D类的含义?它有哪些绘图方法?今天我们再深入了解下它的属性有哪些,详细地为大家描述。一起来看看吧。

一共分为以下五大类,分别简述。

一、stroke属性

stroke属性控制线条的宽度、笔形样式、线段连接方式或短划线图案。该属性的设置需要先创建BasicStroke对象,再调用setStroke()方法来设置。创建BasicStroke对象的方法有如下代码:BasicStroke(float w): 指定线条宽w。

BasicStroke(float w, int cap, int join):

cap是端点样: CAP_BUTT(无修饰), CAP_ROUND(半圆形末端), CAP_SQUARE(方形末端, 默认值)。

Join定义两线段交汇处的连接方式: JOIN_BEVEL(无修饰), JOIN_MTTER(尖形末端, 默认值), JOIN_ROUND(圆形末端)。

二、paint属性

1.paint属性控制填充效果。先调用下面的方法确定填充效果,再用setPaint()方法设置。

代码如下:GradientPaint(float x1, float y1, Color c1, float x2, flaot y2, Color c2): 从(x1, y1) 到(x2, y2) 颜色从c1渐变到c2。 其中: 参数c1, c2决定这个渐变色是从颜色c1渐变到颜色c2。 参数x1, y1, x2, y2决定了渐变的强弱, 即要求从点(x1, y1) 出发到达点(x2, y2), 颜色从c1变成c2。

GradientPaint(float x1, float y1, Color c1, float x2, float y2, Color c2, Boolean cyclic): 如果希望渐变到终点又是

起点的颜色, 应将cyclic设置为true。

三、transform属性

transform属性用来实现常用的图形平移、缩放和斜切等变换操作。

1. 创建AffineTransform对象;

2. 然后调用setTransform()方法设置transform属性;

3. 最后,用具有指定属性的Graphics2D对象绘制图形。创建AffineTransform对象的方法代码如下:getRotateinstrance(double theta): 旋转theta弧度。

getRotateInstance(double theta, dioble x, double y): 绕旋转中心(x, y) 旋转。

getScaleInstance(double sx, double sy): x和y 方向分别按sx, sy比例变换。

getTranslateInstance(double tx, double ty): 平移变换。

getShearInstance(double shx, double shy): 斜切变换, shx和shy指定斜拉度。

也可以先创建一个没有transform属性的AffineTransform对象, 然后用以下方法指定图形平移、 旋转、 缩放变换属性。

transelate(double dx, double dy): 将图形在x轴方向平移dx像素。

scale(double sx, double sy): 图形在x轴方向缩放sx倍, 纵向缩放sy倍。

rotate(double arc, double x, double y): 图形以点(x, y) 为轴点, 旋转arc弧度。

举例说明创建AffineTransform对象,代码如下:AffineTransform trans = new AffineTransform();

为AffineTransform对象指定绕点旋转变换属性:

Trans.rotate(50.0 * 3.1415927 / 180.0, 90, 80);

然后为Graphics2D的对象g2d设置具有上述旋转变换功能的“画笔”,代码如下:Graphics2D g2d = (Graphics2D) g;

g2d.setTranstorm(trans);

最后,以图形对象为参数调用具有变换功能的Graphics2D对象的draw()方法。

假设已有一个二次曲线对象curve,实现用上述旋转功能的g2d对象绘制这条二次曲线,代码如下:g2d.draw(curve);

四、clip属性

clip属性用于实现剪裁效果。设置剪裁属性可调用setClip()方法确定剪裁区的Shape。连续多个setClip()得到它们交集的剪裁区。

五、composit属性

composit属性设置图形重叠区域的效果。

1. 先用方法AlphaComposite.getInstance(int rule, float

alpha)得到AlphaComposite对象;

2. 再通过setComposite()方法设置混合效果。Alpha值的范围为0.0f(完全透明)-0.1f(完全不透明)。

以上就是关于java中Graphics2D类属性有哪些的详细解析。想要了解更多java基础以及常见问题,敬请关注奇Q工具网。

推荐阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值