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


          常用鏈接

          留言簿(4)

          隨筆檔案

          相冊

          我的兄弟們

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          “千里冰封” 兄弟的截屏程序酷斃了,但是好像9月4日之后就沒有繼續(xù)更新了,我們來繼續(xù)為他的程序改進,順便也把我們這幾天都在講的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 閱讀(1496) 評論(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
          我覺得還差一個最關鍵的功能
          快捷鍵

          既然程序可以最小化到系統(tǒng)托盤

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

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

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


          網站導航:
           
          主站蜘蛛池模板: 安龙县| 张家港市| 太和县| 曲麻莱县| 荥阳市| 克拉玛依市| 玉屏| 星座| 宁阳县| 都安| 吕梁市| 平果县| 交口县| 盘锦市| 漳平市| 龙州县| 合水县| 贺兰县| 报价| 福泉市| 邛崃市| 霍城县| 富蕴县| 清水县| 云南省| 平邑县| 津南区| 阿图什市| 丰顺县| 鸡西市| 昭觉县| 兴和县| 博白县| 车致| 泰安市| 筠连县| 时尚| 莒南县| 江口县| 突泉县| 盱眙县|