使用java 怎么绘出图形,详情看下,求大神支招。 java图形图片upload 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 画出阴影效果 贴图怎么弄呢 ? g2d.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer) ? 代码实现方法package swing;import java.awt.BorderLayout;import java.awt.Canvas;import java.awt.Color;import java.awt.Container;import java.awt.Graphics;import java.awt.Shape;import java.awt.Window.Type;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.geom.Ellipse2D;import javax.swing.Box;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class chart { public static void main(String[] args){ JFrame f= new JFrame("BoxLayout 演示程序"); f.setBounds(80, 60, 300, 230); f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); f.setState(2); f.setVisible(true); int SIZE = 3; MyCanvas mc = new MyCanvas(); f.add(mc); }}class MyCanvas extends Canvas{ public void paint(Graphics g) { g.setColor(Color.red); g.setPaintMode(); int iHeight=100; int iWidth=100; int ix=10; int iy=10; iHeight = 100; Ellipse2D s = new Ellipse2D.Float(ix, iy, iWidth, iHeight); g.drawOval(s.getBounds().x, s.getBounds().y, s.getBounds().width, s.getBounds().height); int x1, y1; int iPer=18; for(x1 = ix; x1<(ix+iWidth); x1++) { for(y1=(iy+iHeight); y1>(iy+(iHeight-iPer)); y1--) { if(s.intersects(x1, y1, 1, 1)) g.drawLine(x1, y1, x1, y1); } } g.drawString((" "+iPer+"%"), 120, 60); }} 原理可以利用clip来剪切绘制区域效果图:import javax.swing.*;import java.awt.*;import java.awt.geom.*;public class Test extends JPanel { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.translate(50, 50); g2d.setColor(Color.GRAY); g2d.fillOval(0, 0, 100, 100); g2d.setColor(Color.WHITE); g2d.fillOval(10, 10, 80, 80); Ellipse2D oval = new Ellipse2D.Double(10, 10, 80, 80); g2d.clip(oval); g2d.setColor(Color.GREEN); g2d.fillRect(0, 60, 100, 100); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.getContentPane().add(new Test()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(500, 500); frame.setLocationRelativeTo(null); frame.setVisible(true); }} 画圆弧还可以用更高级的技术:AlphaComposite直观的效果图,从Qt文档里截图的,Java的效果也是一样的Java文档里AlphaComposite的常量 一个快速排序的小程序,求解错误! 这个错误时什么意思啊?关于注释的。 关于JAVA解析word2007 请问这个功能怎么实现? 如何看一个API的帮助文件? 谁能帮忙写一个非常简单的操作文件小程序?在线急等.......... 请教:跟踪JDK代码时候无法获得调试信息的问题 两个小问题!!! 变量命名的区别 ??? 从键盘输入10个字符串 存入数组a中,然后输出这10个字符串中最大字符串和最小字符串。 MyEclipse中项目启动后报错
画出阴影效果 贴图怎么弄呢 ? g2d.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer) ?
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Shape;
import java.awt.Window.Type;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Ellipse2D;import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class chart {
public static void main(String[] args){
JFrame f= new JFrame("BoxLayout 演示程序");
f.setBounds(80, 60, 300, 230);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setState(2);
f.setVisible(true);
int SIZE = 3;
MyCanvas mc = new MyCanvas();
f.add(mc);
}
}class MyCanvas extends Canvas{
public void paint(Graphics g)
{
g.setColor(Color.red);
g.setPaintMode();
int iHeight=100;
int iWidth=100;
int ix=10;
int iy=10;
iHeight = 100; Ellipse2D s = new Ellipse2D.Float(ix, iy, iWidth, iHeight);
g.drawOval(s.getBounds().x, s.getBounds().y, s.getBounds().width, s.getBounds().height);
int x1, y1;
int iPer=18;
for(x1 = ix; x1<(ix+iWidth); x1++) {
for(y1=(iy+iHeight); y1>(iy+(iHeight-iPer)); y1--) {
if(s.intersects(x1, y1, 1, 1))
g.drawLine(x1, y1, x1, y1);
}
}
g.drawString((" "+iPer+"%"), 120, 60);
}
}
效果图:
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;public class Test extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g); Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.translate(50, 50); g2d.setColor(Color.GRAY);
g2d.fillOval(0, 0, 100, 100); g2d.setColor(Color.WHITE);
g2d.fillOval(10, 10, 80, 80); Ellipse2D oval = new Ellipse2D.Double(10, 10, 80, 80);
g2d.clip(oval); g2d.setColor(Color.GREEN);
g2d.fillRect(0, 60, 100, 100);
} public static void main(String[] args) {
JFrame frame = new JFrame(); frame.getContentPane().add(new Test()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
直观的效果图,从Qt文档里截图的,Java的效果也是一样的
Java文档里AlphaComposite的常量