用java代碼模擬一張圖片可以這樣操作:1.創(chuàng)建BufferedImage類
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比和碩網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式和碩網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋和碩地區(qū)。費用合理售后完善,10年實體公司更值得信賴。
2.根據(jù)BufferedImage類得到一個Graphics2D對象
3.根據(jù)Graphics2D對象進行邏輯操作
4.處理繪圖
5.將繪制好的圖片寫入到圖片
java編寫圖形界面需要用到swing等組件,可以在eclipse中安裝windowbuilder來開發(fā)窗體,自動生成窗體代碼,然后自己再根據(jù)需要修改,如:
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是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進行復雜的編程。
public class Test013 {
/**
* 編寫一個圖形類MyGraphic。 1)它有兩個基本屬性:圖形線條的顏色String lineColor和圖形的填充顏色String
* fillColor。 2)設(shè)計矩形類CRectangle,有屬性double rLong和寬double rWidth, 使用方法 float
* calCircum()可以返回矩形的周長,使用方法float calSquare()可以返回矩形的面積。
* 編寫方法show(),顯示圖形的線條顏色和填充顏色,輸出面積和方法。 3)設(shè)計圓形類CCircle,定義屬性:半徑double
* radius,可以通過同名方法計算周長和面積。 編寫方法show(),顯示圖形的線條顏色和填充顏色,輸出面積和方法。
* 4)編寫出應用程序?qū)Rectangle類和CCircle類進行驗證。 完成上述要求即可
*/
public static void main(String[] args) {
MyGraphic rectangle = new CRectangle(10, 5);
rectangle.setFillColor("紫色"); //設(shè)定矩形填充顏色
rectangle.setLineColor("白色"); //設(shè)定矩形線條顏色
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; // 寬
/**
* 通過構(gòu)造函數(shù)為圖形的屬性賦值
*
* @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;
}
}