隨筆 - 18  文章 - 96  trackbacks - 0
          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678


          常用鏈接

          留言簿(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 閱讀(1493) 評論(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  回復  更多評論
            

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


          網站導航:
           
          主站蜘蛛池模板: 巴彦淖尔市| 土默特左旗| 泰州市| 张家港市| 永康市| 文化| 中牟县| 砚山县| 沙湾县| 滦南县| 高清| 定西市| 闻喜县| 无为县| 沧州市| 交口县| 阿勒泰市| 岳池县| 靖安县| 锡林浩特市| 吴江市| 子洲县| 舞钢市| 家居| 大足县| 阳曲县| 威信县| 馆陶县| 保靖县| 津南区| 武宁县| 雷山县| 平安县| 广灵县| 砀山县| 台州市| 盐城市| 南阳市| 鹰潭市| 泰兴市| 定襄县|