隨筆 - 18  文章 - 96  trackbacks - 0
          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910


          常用鏈接

          留言簿(4)

          隨筆檔案

          相冊

          我的兄弟們

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          “千里冰封” 兄弟的截屏程序酷斃了,但是好像9月4日之后就沒有繼續更新了,我們來繼續為他的程序改進,順便也把我們這幾天都在講的2D繪制用進來,我們的目標是讓冰封的截屏程序成為截屏程序里的王!
          今天先改進一下截圖時候的選框,還是先放上截圖的截圖(*o*):

          這是原來的圖片,下面是改進后的

          和改進的代碼部分:
          這部分代碼插入 Temp類的paintComponent方法中的    if (showTip) 這句的前面
              Graphics2D g2d = (Graphics2D) g.create();
                      g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                              RenderingHints.VALUE_ANTIALIAS_ON);
                      g2d.setComposite(AlphaComposite.getInstance(
                              AlphaComposite.SRC_OVER, 
          0.3F));
                      g2d.setColor(Color.RED.brighter().brighter());
                      
          int sX = Math.min(startX, endX);
                      
          int sY = Math.min(endY, startY);
                      g2d.fillRect(sX, sY, Math.abs(endX 
          - startX), Math.abs(endY
                              
          - startY));
                      g2d.setComposite(AlphaComposite.getInstance(
                              AlphaComposite.SRC_OVER, 1F));
                      
          boolean drawCTip = endX - startX != 0 && endY - startY != 0;
                      
          if (drawCTip) {
                          String cTip 
          = String.format("%dX%d", Math.abs(endX - startX),
                                  Math.abs(endY 
          - startY));
                          
          int cTipH = 20;
                          Font cTipFont 
          = new Font("system", Font.BOLD, 16);
                          g2d.setFont(cTipFont);
                          
          int cTipW = SwingUtilities.computeStringWidth(
                                  getFontMetrics(cTipFont), cTip);
                          g2d.setPaint(Color.BLACK);
                          
          int cStartY = sY - cTipH > 0 ? sY - cTipH : sY;
                          g2d.fillRect(sX, cStartY, cTipW, cTipH);
                          g2d.setPaint(Color.WHITE);
                          g2d.drawString(cTip, sX, cStartY 
          == sY ? sY + cTipH - 3
                                  : sY 
          - 3);
                      }
                      g2d.dispose();

          怎么樣,比起QQ的截圖程序,我們又近一步了,嗯。

          posted on 2007-09-13 13:28 ruislan 閱讀(1491) 評論(10)  編輯  收藏

          FeedBack:
          # re: 改進“千里冰封”的截屏程序 2007-09-13 15:19 BeanSoft
          呵呵, 支持!  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序 2007-09-13 15:32 千里冰封
          呵呵,謝謝,加上信息提示再強大了.支持:)  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序 2007-09-13 16:09 老象
          日白  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序 2007-09-13 17:10 faen
          不錯,加油干,兄弟們  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序[未登錄] 2007-09-14 09:29 Samuel
          頂一個。強悍!  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序 2007-09-14 09:44 劉甘泉
          呵呵,偶對圖像處理不熟,搞web方向的  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序 2007-10-20 17:26 RaviLi
          很不錯。  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序 2008-07-23 15:59 zyhxl66
          好 非常不錯 支持!這個程序慢慢的功能會非常強大  回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序[未登錄] 2009-06-10 15:17 rose
          我覺得還差一個最關鍵的功能
          快捷鍵

          既然程序可以最小化到系統托盤

          需要一個截屏快捷鍵來直接使用它,否則最小化到托盤沒什么意義,只是花哨的存在

            回復  更多評論
            
          # re: 改進“千里冰封”的截屏程序 2010-12-27 15:30 replica watch
          nice post  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 金华市| 交口县| 镇远县| 孟州市| 顺昌县| 南城县| 河源市| 阿勒泰市| 油尖旺区| 娄烦县| 巴林右旗| 凉城县| 八宿县| 汝州市| 葫芦岛市| 西丰县| 宾川县| 灵寿县| 武隆县| 蚌埠市| 北流市| 五台县| 睢宁县| 晴隆县| 宜兰市| 会宁县| 开封县| 禹州市| 延津县| 莆田市| 子长县| 陕西省| 宜良县| 丽江市| 汨罗市| 南乐县| 梨树县| 弥渡县| 阜南县| 宿迁市| 尚义县|