Rex Mao

          分享java技術與生活

          java中怎樣把圖片存放在代碼中

           

          有時候不想把圖片資源放在目錄里,讓用戶看到,我用的方法是將圖片的像素矩陣存在代碼里。可能比較笨,具體做法是:

          MediaTracker mt = new MediaTracker(aFrame); //媒體跟蹤器

          Image img = Toolkit.getDefaultToolkit().createImage("畫刷.jpg"); //得到圖片

          mt.addImage(img, 1);

          try {

                mt.waitForAll();

             }

          catch (InterruptedException ex) {

             }

          BufferedImage bi = new BufferedImage(16, 16, BufferedImage.TYPE_INT_RGB);

          bi.getGraphics().drawImage(img, 0, 0, 16, 16, f);

          int[] rbg = new int[bi.getWidth() * bi.getHeight()];

          bi.getRGB(0, 0, 16, 16, rbg, 0, 16); //利用BufferedImage得到像素矩陣

          for (int i = 0; i < rbg.length; i++) {

                System.out.print(rbg[i] + ","); //打印

             }

           

          再在代碼中創建靜態對象

          private static int[] penPixels = {

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215, -16777216, -16777216, -16777216, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, -16777216, -2031616, -2031616, -2031616, -16777216, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, -16777216, -2031616, -1, 16777215, -16777216, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                -16777216, -16777216, -2031616, -1, -16777216, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                -16777216, -256, -16777216, -16777216, -16777216, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, -16777216,

                -256, -1, -1842205, -16777216, 16777215, 16777215, 16777215, 16777215,

                16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, -16777216, -1,

                -256, -16777216, -16777216, 16777215, 16777215, 16777215, 16777215,

                16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, -16777216, 16777215,

                -256, -1842205, -16777216, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, -16777216, -256, -1,

                -16777216, -16777216, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215,

                16777215, 16777215, 16777215, 16777215, -16777216, -256, -1, -1842205,

                -16777216, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215,

                16777215, 16777215, 16777215, 16777215, -16777216, -16777216, -256,

                -16777216, -16777216, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, -16777216, -16777216, -16777216,

                -16777216, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, -16777216, -16777216, -16777216,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, -16777216, -16777216, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, -16777216, 16777215, 16777215,

                16777215, 16777215, 16777215, 16777215, 16777215, 16777215, 16777215,

                16777215, 16777215

           };//打印出來的矩陣

          private static MemoryImageSource misPen = new MemoryImageSource(16, 16,

                penPixels, 0, 16);

          public static Image imgPen = Toolkit.getDefaultToolkit().createImage(misPen);

          這樣就可以直接使用imgPen圖片了。

          posted on 2007-05-26 10:15 Rex Mao 閱讀(1452) 評論(2)  編輯  收藏 所屬分類: 技術

          評論

          # re: java中怎樣把圖片存放在代碼中[未登錄] 2007-10-05 13:57 king

          牛人。。。。  回復  更多評論   

          # re: java中怎樣把圖片存放在代碼中[未登錄] 2008-08-22 14:47 gogo

          我暈~~  回復  更多評論   

          主站蜘蛛池模板: 靖宇县| 辽阳市| 临夏市| 女性| 富裕县| 陇川县| 独山县| 北安市| 大埔县| 石楼县| 巧家县| 敦煌市| 宽城| 龙南县| 南木林县| 平和县| 甘肃省| 六枝特区| 鹤峰县| 洪雅县| 平罗县| 专栏| 桐梓县| 那坡县| 垣曲县| 涞水县| 卢龙县| 彩票| 英山县| 古田县| 黔南| 紫阳县| 沛县| 江永县| 积石山| 海口市| 青海省| 阜南县| 察雅县| 珲春市| 南雄市|