本文整理汇总了Java中java.awt.Graphics2D.fillArc方法的典型用法代码示例。如果您正苦于以下问题:Java Graphics2D.fillArc方法的具体用法?Java Graphics2D.fillArc怎么用?Java Graphics2D.fillArc使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.awt.Graphics2D
的用法示例。
在下文中一共展示了Graphics2D.fillArc方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: RenderEllipseRotated
import java.awt.Graphics2D; //导入方法依赖的package包/类
public static synchronized void RenderEllipseRotated(Graphics g, Vector2 position, Vector2 size, float degrees, float rotation, Color c)
{
Graphics2D g2d = (Graphics2D)g;
AffineTransform old = g2d.getTransform();
g2d.rotate(rotation, position.x + (size.x/2), position.y + (size.y/2));
g2d.setColor(c);
g2d.fillArc((int)position.x, (int)position.y, (int)size.x, (int)size.y, 0, (int)degrees);
g2d.setTransform(old);
}
示例2: paintBorder
import java.awt.Graphics2D; //导入方法依赖的package包/类
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(fillColor);
// NOTE: fillRoundRect seems to have poor performance on Linux
// g2.fillRoundRect(x + halfBorderStrokeWidth, y + halfBorderStrokeWidth,
// width - borderStrokeWidth, height - borderStrokeWidth,
// arcRadius * 2, arcRadius * 2);
int arcRadius2 = arcRadius * 2;
int arcRadius2p1 = arcRadius2 + 1;
g2.fillArc(x, y, arcRadius2, arcRadius2, 90, 90);
g2.fillArc(x + width - arcRadius2p1, y, arcRadius2, arcRadius2, 0, 90);
g2.fillArc(x, y + height - arcRadius2p1, arcRadius2, arcRadius2, 180, 90);
g2.fillArc(x + width - arcRadius2p1, y + height - arcRadius2p1, arcRadius2, arcRadius2, 270, 90);
g2.fillRect(x + arcRadius, y, width - arcRadius2p1, height);
g2.fillRect(x, y + arcRadius, arcRadius, height - arcRadius2p1);
g2.fillRect(x + width - arcRadius - 1, y + arcRadius, arcRadius, height - arcRadius2p1);
Object aa = null;
Object sc = null;
if (!forceSpeed) {
aa = g2.getRenderingHint(RenderingHints.KEY_ANTIALIASING);
sc = g2.getRenderingHint(RenderingHints.KEY_STROKE_CONTROL);
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
}
g2.setStroke(borderStroke);
g2.setPaint(lineColor);
g2.drawRoundRect(x + halfBorderStrokeWidth, y + halfBorderStrokeWidth,
width - borderStrokeWidth, height - borderStrokeWidth,
arcRadius * 2, arcRadius * 2);
if (!forceSpeed) {
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, aa);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, sc);
}
}
示例3: main
import java.awt.Graphics2D; //导入方法依赖的package包/类
public static void main(String[] args) {
DrawFrame df = DrawFrame.create("MyDrawing", 200, 300);
Graphics2D g = df.getGraphics2D();
float linewidth = 5.0f; // line width = 5 pixels
g.setStroke(new BasicStroke(linewidth));
g.setColor(Color.BLUE);
g.drawLine(40, 10, 10, 40);
g.draw(new Line2D.Double(70.2, 10.3, 100.4, 40.5));
g.fillOval(10, 60, 30, 30);
g.drawOval(60, 60, 30, 30);
g.fillRoundRect(110, 60, 30, 30, 10, 10);
g.drawRoundRect(160, 60, 30, 30, 10, 10);
g.setColor(Color.GREEN.darker());
g.fillArc(10, 110, 30, 30, 45, 240);
g.fillArc(60, 110, 30, 30, 45 + 240, 360 - 240);
g.fillArc(110, 110, 30, 30, 90, 270);
g.fillArc(160, 110, 30, 30, 270, 270);
g.setColor(Color.MAGENTA);
g.drawArc(10, 160, 30, 30, 45, 240);
g.drawArc(60, 160, 30, 30, 45 + 240, 360 - 240);
g.drawArc(110, 160, 30, 30, 90, 270);
g.drawArc(160, 160, 30, 30, 270, 270);
g.setColor(Color.ORANGE);
g.fillPolygon(new int[] { 10, 40, 10, 40 }, new int[] { 210, 210, 240, 240 }, 4);
g.drawPolygon(new int[] { 60, 90, 60, 90 }, new int[] { 210, 210, 240, 240 }, 4);
g.drawPolyline(new int[] { 110, 140, 110, 140 }, new int[] { 210, 210, 240, 240 }, 4);
g.drawPolyline(new int[] { 160, 160, 190, 190 }, new int[] {240, 210, 240, 210 }, 4);
// Printing texts
g.setColor(Color.BLACK);
g.setFont(new Font("Monospaced", Font.PLAIN, 14));
g.drawString("Drawn with JGraphix", 10, 275);
df.refresh();
System.out.println("done.");
}