最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)顏色漸變效果

 更新時(shí)間:2018年12月06日 15:24:41   作者:落楓飄飄  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)顏色漸變效果的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)顏色漸變效果的具體代碼,供大家參考,具體內(nèi)容如下

RGB色彩,在自然界中肉眼所能看到的任何色彩都可以由紅(R)、綠(G)、藍(lán)(B)這三種色彩混合疊加而成,因此我們只要遞增遞減的修改其特定值就能得到相應(yīng)的漸變效果。

運(yùn)行效果:(圖1)

運(yùn)行5秒后:(圖2)

Java源代碼:

 import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;

 import javax.swing.JFrame;
 import javax.swing.JPanel;
 
 /**
 * 圖片顯示面板類(lèi)<br>
 * 顏色漸變效果測(cè)試
 * 
 * @author WQL
 * 
 */
 public class ImagePanel extends JPanel {
  private static final long serialVersionUID = 1L;
  private int height = 350; // 高度
  private int width = 600; // 寬度
  private BufferedImage bufImg = null; // 在該BufferedImage對(duì)象中繪制顏色
 
  /**
   * 構(gòu)造方法
   */
  public ImagePanel() {
    this.setPreferredSize(new Dimension(width, height)); // 設(shè)置首選大小
  }
 
  /**
   * 初始化顏色
   */
   private void initColor() {
     bufImg = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR);// 實(shí)例化BufferedImage
     Graphics g = bufImg.getGraphics(); // 獲取圖片的Graphics
     int w = width / 6; // 分成六個(gè)部分進(jìn)行繪制
     for (int i = 0; i < w; i++) {
       int x = 0;
       int d = (int) (i * (255.0 / w)); // 使d從0遞增到255,實(shí)際可能只是接近255
       // 畫(huà)第一部分顏色---紅色到黃色
       g.setColor(new Color(255, d, 0)); // 設(shè)置顏色
       g.drawLine(i + w * x, 0, i + w * x++, height); // 畫(huà)直線---一條單色豎線
       // 畫(huà)第二部分顏色---黃色到綠色
       g.setColor(new Color(255 - d, 255, 0));
       g.drawLine(i + w * x, 0, i + w * x++, height);
       // 畫(huà)第三部分顏色---綠色到青色
       g.setColor(new Color(0, 255, d));
       g.drawLine(i + w * x, 0, i + w * x++, height);
       // 畫(huà)第四部分顏色---青色到藍(lán)色
       g.setColor(new Color(0, 255 - d, 255));
       g.drawLine(i + w * x, 0, i + w * x++, height);
       // 畫(huà)第五部分顏色---藍(lán)色到洋紅色
       g.setColor(new Color(d, 0, 255));
       g.drawLine(i + w * x, 0, i + w * x++, height);
       // 畫(huà)第六部分顏色---洋紅色到紅色
       g.setColor(new Color(255, 1, 255 - d));
       g.drawLine(i + w * x, 0, i + w * x++, height);
     }
     repaint(); // 重繪
     try {
       System.out.println("5秒后繪制黑色分隔線..");
       Thread.sleep(5000); // 線程休息
     } catch (InterruptedException e) {
       e.printStackTrace();
     }
     // 繪制黑線來(lái)隔開(kāi)六個(gè)部分
     System.out.println("開(kāi)始繪制黑色分隔線...");
     g.setColor(Color.BLACK); // 設(shè)置黑色
     for (int i = 1; i < w; i++) {
       g.drawLine(i * w, 0, i * w, height); // 畫(huà)直線
     }
     repaint(); // 重繪
   }
 
   /**
   * 繪制圖片
   */
   public void paint(Graphics g) {
     g.drawImage(bufImg, 0, 0, null); // 畫(huà)圖片
   }
 
   /**
   * 主方法
   */
   public static void main(String[] args) {
     JFrame f = new JFrame("顏色漸變效果"); // 實(shí)例化一個(gè)窗體
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設(shè)置窗體關(guān)閉時(shí)退出程序
     ImagePanel imgPanel = new ImagePanel(); // 實(shí)例化圖片顯示面板
     f.getContentPane().add(imgPanel); // 添加到窗體
     f.pack(); // 根據(jù)窗體子組件的首選大小進(jìn)行調(diào)整
     f.setLocationRelativeTo(null); // 設(shè)置窗體在屏幕中居中顯示
     f.setVisible(true); // 顯示窗體
     imgPanel.initColor(); // 繪制顏色
   }
 }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

攀枝花市| 休宁县| 台安县| 象山县| 安徽省| 绍兴市| 滁州市| 天津市| 石景山区| 西乡县| 祥云县| 鲁山县| 乌拉特前旗| 沂水县| 长兴县| 泾川县| 万宁市| 汝南县| 涞源县| 英德市| 白山市| 岑巩县| 洪江市| 科技| 遂平县| 南乐县| 洛浦县| 安吉县| 衡阳市| 泽州县| 洛宁县| 宾川县| 门源| 长海县| 宜宾县| 陇西县| 平乡县| 宜丰县| 乐业县| 通江县| 罗甸县|