java.awt.Graphics2D绘制流程图基本元素
生活随笔
收集整理的這篇文章主要介紹了
java.awt.Graphics2D绘制流程图基本元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java.lang.Object
----java.awt.Graphics
----java.awt.Graphics2D
protected?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?ServletException,?IOException?{?? ????response.setContentType("image/jpeg");//聲明文件格式?? ????//繪制寬=480,長=640的圖板?? ????int?width=480,hight=720;?? ????BufferedImage?image?=?new?BufferedImage(width,hight,BufferedImage.TYPE_INT_RGB);?? ????//獲取圖形上下文,graphics想象成一個畫筆?? ????Graphics2D?graphics?=?(Graphics2D)image.getGraphics();?? ?????? ????//消除線條鋸齒?? ????graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,?RenderingHints.VALUE_ANTIALIAS_ON);?? ?????? ????//對指定的矩形區域填充顏色?? ????graphics.setColor(Color.ORANGE);????//GREEN:綠色;??紅色:RED;???灰色:GRAY?? ????graphics.fillRect(0,?0,?240,?720);?? ????//對指定的矩形區域填充顏色?? ????graphics.setColor(Color.PINK);???? ????graphics.fillRect(240,?0,?240,?720);?? ?????? ????//生成隨機數?? ????Random?random?=?new?Random();?? ????/*? ?????*?畫線?x,y是坐標,定義線段的兩個坐標點? ?????*/?? ????graphics.setColor(Color.BLACK);?? ????int?x=100,y=100,x1=100,y1=y;?? ????graphics.drawLine(x,y,x+x1,y1);?? ????/*? ?????*畫出一個折線? ?????*/?? ????int[]?xPoints?=?{100,100,250,250};?? ????int[]?yPoints?=?{180,150,150,180};?? ????graphics.drawPolyline(xPoints,?yPoints,?4);?? ????/*? ?????*?畫出一個閉合多邊形(三角形)? ?????*/?? ????int[]?xPoints1?=?{100,100,200};?? ????int[]?yPoints1?=?{240,320,280};?? ????graphics.drawPolygon(xPoints1,?yPoints1,?3);?? ????/*? ?????*?畫出一個閉合多邊形(菱形)? ?????*/?? ????int[]?xPoints2?=?{240,300,360,300};?? ????int[]?yPoints2?=?{280,240,280,320};?? ????graphics.drawPolygon(xPoints2,?yPoints2,?4);?? ????graphics.setColor(Color.ORANGE);?? ????graphics.fillPolygon(xPoints2,?yPoints2,?4);?? ????/*? ?????*繪制一個橢圓形?? ?????*/?? ????graphics.setColor(Color.GREEN);?? ????int?xOval=100,yOval=360;?? ????graphics.drawOval(xOval,?yOval,?100,?100);?? ?? ????/*? ?????*繪制一個矩形? ?????*/?? ????//graphics.setColor(Color.GRAY);//--設置矩形邊框顏色?。GREEN:綠色;??紅色:RED;???灰色:GRAY?? ????int?xRect=240,yRect=360;?? ????graphics.drawRect(xRect,?yRect,?200,?100);?? ?? ????//設置文字顏色?? ????graphics.setColor(new?Color(?20+random.nextInt(100),??20+random.nextInt(100),??20+random.nextInt(100)?));?? ????//設置文字內容、位置?? ????graphics.drawString("直線",100+50,100-5);?? ????graphics.drawString("折線",?200,?150-5);?? ????graphics.drawString("空心三角形",?110,?280);?? ????graphics.drawString("實心菱形",?300-20,?280);?? ????graphics.drawString("橢圓形",?100+50,?360+50);?? ????graphics.drawString("矩形",?240+50,?360+50);?? ????//graphics.drawString("錯誤的背景顏色",?100,?540);?? ?????? ????//graphics.setPaintMode();?? ????//graphics.translate(400,?600);?? ?????? ????graphics.dispose();//釋放此圖形的上下文并釋放它所使用的所有系統資源?? ?????? ????ImageIO.write(image,"JPEG",response.getOutputStream());?? ????PrintWriter?out?=?response.getWriter();?? ????out.flush();?? ????out.close();?? ????//super.doGet(request,?response);?? }??
<servlet>?? ????<servlet-name>graphics1</servlet-name>?? ????<servlet-class>hsy.graphics.test.GraphicsServlet</servlet-class>?? </servlet>?? ?? <servlet-mapping>?? ????<servlet-name>graphics1</servlet-name>?? ????<url-pattern>/servlet/graphics1</url-pattern>?? </servlet-mapping>??
<span?style="white-space:pre">??</span><img?id=""?style=""?src="../servlet/graphics1">??
4. 頁面圖形展示如下:
由于項目需要,要求對用戶流程進行圖形化展示:用戶對自己的操作通過查看流程圖一目了然。于是進行了一下前期的java繪圖探索,通過java.awt.Graphics2D對繪制流程圖的基本元素進行了編碼,并將其展示在了jsp頁面上。
首先編寫一個servlet,然后在web.xml中對其進行配置,最后將圖片展示在jsp頁面。
1. 繪圖方法:
[java] view plaincopy
2. web.xml中配置servlet:
[html] view plaincopy
3. Jsp頁面中只需如下一句即可展示圖形:
[html] view plaincopy
4. 頁面圖形展示如下:
現在大家可以看看,充分發揮一下想象力,上圖中是否包含了 ‘泳道’、‘開始節點’、‘結束節點’、’普通節點‘、‘流轉線條’ 、‘描述文字’ 等一系列元素。那么剩下來的事情就是如何去繪制一個完整的流程圖了,顯然這不是一件簡單的事情,但是有了這些基本的元素,再難應該也是可以繪制出來的。童鞋們,結合自己的項目,充分發揮你的想象力去完成流程圖的繪制吧!
總結
以上是生活随笔為你收集整理的java.awt.Graphics2D绘制流程图基本元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java,将Image变量保存成图片
- 下一篇: java Graphics2D类