Java-绘图相关技术
生活随笔
收集整理的這篇文章主要介紹了
Java-绘图相关技术
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//學了太多的基礎,感覺一直沒太大的進步,因此,我決定增加以下學習的難度,以此來增加自己的學習興趣;
/*** Java 繪圖相關技術的學習*Graphics類相關技術知識:* 1.Graphics類是所有圖像繪圖的基類,是一個抽象類;* 2.Graphic2D繼承Graphics類,對Graphics類進行了擴展。* 3.我們如果需要創建一個繪圖類,推薦使用Graphics2D,該類分別使用不同的類來表示圖形;* 1.對于該類圖形,我們使用GraphicsD類的draw()方法繪制,使用fill()進行填充;* 2.在java.awt.geom包中,實現了Shape接口的圖形類可以上述兩個方法。例如Line2D;** 3.在各類圖形類中,我們使用Double和Float這兩個實現類進行圖形的不同精度構造,不同的精度需要的內存也不同。** 相關繪圖知識介紹* 1.顏色類Color* 1.可以創建任何顏色,與平臺無關;* 2.Color(int r,int g,int b)或者Color(int rgb);* 3.該類還定義了許多靜態顏色常量,可以通過Color.RED訪問;* 4.設置顏色setColor()* * 2.畫筆* 1.在GraphicsD類可以通過setStroke(Strock strock)方法設置畫筆的屬性,包括線條的粗細,虛實和線段端點的樣式。* 2.Strock接口作為參數* * 3.文本* 1.Font(String name ,int style,int size);字體名字,類型和大小* 2.SetFont(Font font);* 3.drawString(String str,int x,int y):通過Graphics2D類中的方法來繪制顯示字體;* * * 4.圖像繪制* 1.獲取圖片資源路徑getResource();* 2.獲取圖片getImage();* 3.drawImage()繪制顯示圖片* * 4.jSlider.getValue():可通過滑動組件來控制圖片的縮放比例* * * */
package app;
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import java.net.*;//包含有main函數的類的類名和文件名必須保持一致
public class ImageShape extends JFrame
{/****/private static final long serialVersionUID = 1L;private final int width = 700;private final int height = 700;private Image img;private Shape Rect;private Font font;public ImageShape(){super();init();}private void init(){this.setSize(width, height);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置窗體面板為繪圖面板對象this.setContentPane(new Canvas());this.setTitle("繪圖");}public static void main(String[] args){new ImageShape().setVisible(true);}class Canvas extends JPanel{/****/private static final long serialVersionUID = 1678373920467727747L;public void paint(Graphics g){super.paint(g);//Graphics用法g.setColor(new Color(255, 0, 0));g.fill3DRect(100, 100, 200, 200, true);g.setColor(Color.GRAY);g.fillRect(350, 100, 200, 200);//Graphics2D的用法Graphics2D g1 = (Graphics2D) g;g1.setColor(new Color(0,255,0));Shape[] shape = new Shape[2];shape[0] = new Ellipse2D.Double(100, 350, 200, 250);shape[1] = new Rectangle2D.Double(150, 400, 100, 100);g1.draw(shape[0]);g.setColor(new Color(0,0,255));g1.fill(shape[1]);//相關用法Graphics2D g2 = (Graphics2D) g;g2.setColor(Color.BLACK);g2.setFont(new Font("宋體", Font.BOLD, 15));g2.drawString("Java 繪圖學習.", 400, 400);//圖片繪制URL url = ImageShape.class.getResource("lena.jpg");img = Toolkit.getDefaultToolkit().getImage(url);Graphics2D g3 = (Graphics2D) g;/* g3.drawImage(img, 0, 0, this);*///圖片的縮放int w = img.getWidth(this) * 30 / 100;int h = img.getHeight(this) * 30 / 100;g3.drawImage(img, 400,450,w,h,this);}}
}
? ? ? ? ? ? ? ? ? ? ?
總結
以上是生活随笔為你收集整理的Java-绘图相关技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的基础知识——捕捉SIGCHL
- 下一篇: 排序算法笔记(Java)