用java代码模拟一张图片可以这样操作:1.创建BufferedImage类
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比和硕网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式和硕网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖和硕地区。费用合理售后完善,10年实体公司更值得信赖。
2.根据BufferedImage类得到一个Graphics2D对象
3.根据Graphics2D对象进行逻辑操作
4.处理绘图
5.将绘制好的图片写入到图片
java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码,然后自己再根据需要修改,如:
package mainFrame;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
public class Test013 {
/**
* 编写一个图形类MyGraphic。 1)它有两个基本属性:图形线条的颜色String lineColor和图形的填充颜色String
* fillColor。 2)设计矩形类CRectangle,有属性double rLong和宽double rWidth, 使用方法 float
* calCircum()可以返回矩形的周长,使用方法float calSquare()可以返回矩形的面积。
* 编写方法show(),显示图形的线条颜色和填充颜色,输出面积和方法。 3)设计圆形类CCircle,定义属性:半径double
* radius,可以通过同名方法计算周长和面积。 编写方法show(),显示图形的线条颜色和填充颜色,输出面积和方法。
* 4)编写出应用程序对CRectangle类和CCircle类进行验证。 完成上述要求即可
*/
public static void main(String[] args) {
MyGraphic rectangle = new CRectangle(10, 5);
rectangle.setFillColor("紫色"); //设定矩形填充颜色
rectangle.setLineColor("白色"); //设定矩形线条颜色
rectangle.show();
System.out.println("矩形周长 = " + rectangle.calCircum());
System.out.println("矩形面积 = " + rectangle.calSquare());
MyGraphic circle = new CCircle(3);
circle.setFillColor("红色");
circle.setLineColor("黄色");
circle.show();
System.out.println("园形周长 = " + circle.calCircum());
System.out.println("园形面积 = " + circle.calSquare());
}
}
/**
* 图形类
*
*/
abstract class MyGraphic {
private String lineColor; // 图形线条的颜色
private String fillColor; // 图形的填充颜色
public String getLineColor() {
return lineColor;
}
public void setLineColor(String lineColor) {
this.lineColor = lineColor;
}
public String getFillColor() {
return fillColor;
}
public void setFillColor(String fillColor) {
this.fillColor = fillColor;
}
public MyGraphic(String lineColor, String fillColor) {
this.lineColor = lineColor;
this.fillColor = fillColor;
}
public MyGraphic() {
}
/**
* 显示图形的颜色
*/
public abstract void show();
/**
* 计算图形的周长
*/
public abstract float calCircum();
/**
* 计算图形的面积
*/
public abstract float calSquare();
}
/**
* 矩形类
*
*/
class CRectangle extends MyGraphic {
private double rLong; // 长
private double rWidth; // 宽
/**
* 通过构造函数为图形的属性赋值
*
* @param rLong
* @param rWidth
*/
public CRectangle(double rLong, double rWidth) {
this.rLong = rLong;
this.rWidth = rWidth;
}
/**
* @return 矩形的周长
*/
@Override
public float calCircum() {
return (float) (2 * (rLong + rWidth));
}
/**
* @return 矩形的面积
*/
@Override
public float calSquare() {
return (float) (rLong * rWidth);
}
@Override
public void show() {
System.out.println("矩形线条的颜色: " + super.getLineColor());
System.out.println("矩形填充颜色: " + super.getFillColor());
}
public double getrLong() {
return rLong;
}
public void setrLong(double rLong) {
this.rLong = rLong;
}
public double getrWidth() {
return rWidth;
}
public void setrWidth(double rWidth) {
this.rWidth = rWidth;
}
}
/**
* 圆形类
*
*/
class CCircle extends MyGraphic {
private double radius; // 圆形半径
public CCircle(double radius) {
this.radius = radius;
}
/**
* @return 圆形的周长
*/
@Override
public float calCircum() {
return (float) (2 * Math.PI * radius);
}
/**
* @return 圆形的面积
*/
@Override
public float calSquare() {
return (float) (Math.PI * radius * radius);
}
@Override
public void show() {
System.out.println("圆形线条的颜色: " + super.getLineColor());
System.out.println("圆形填充颜色: " + super.getFillColor());
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
}