Swing


          天行健 君子以自強不息

          posts - 69, comments - 215, trackbacks - 0, articles - 16
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java2d 特效:圖像縮放

          Posted on 2007-05-30 09:37 zht 閱讀(2220) 評論(1)  編輯  收藏 所屬分類: Swing

          效果圖如下:

          源代碼:
          import java.awt.Color;
          import java.awt.Dimension;
          import java.awt.Graphics;
          import java.awt.Graphics2D;
          import java.awt.RenderingHints;

          import javax.swing.ImageIcon;
          import javax.swing.JFrame;
          import javax.swing.JPanel;

          public class Scale {

           /**
            * @param args
            */
           public static void main(String[] args) {
            JFrame jf = new JFrame();
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jf.getContentPane().add(new ScalePanel());
            jf.setPreferredSize(new Dimension(500, 400));
            jf.pack();
            jf.setVisible(true);
           }

          }

          class ScalePanel extends JPanel {

           protected void paintComponent(Graphics g) {
            int width = this.getWidth();
            int height = this.getHeight();
            super.paintComponent(g);
            Graphics2D g2d = (Graphics2D) g;
            g2d.setColor(Color.WHITE);
            g2d.fillRect(0, 0, width, height);

            g2d.setColor(Color.BLACK);
            g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
              RenderingHints.VALUE_FRACTIONALMETRICS_ON);

            g2d.setRenderingHint(RenderingHints.KEY_RENDERING,
              RenderingHints.VALUE_RENDER_QUALITY);

            ImageIcon logoPNG;

            try {
             logoPNG = new ImageIcon(getClass().getResource("logo.png"));
             logoPNG.paintIcon(this, g2d, 10, 50);

             g2d.translate(width / 5, height / 2.5);
             g2d.scale(2.0, 2.0);//放大2倍
             logoPNG.paintIcon(this, g2d, 0, 0);

             g2d.scale(0.25, 0.25);//縮小到1/4
             logoPNG.paintIcon(this, g2d, 250, -180);
            } catch (Exception e) {
             e.printStackTrace();
             g2d.drawString("讀入圖像文件錯誤!", 100, 200);
            }
           }
          }
          以上代碼修改一下即可用在jsp中

          主站蜘蛛池模板: 潞西市| 蒙阴县| 赤城县| 论坛| 东阿县| 尼玛县| 望都县| 牙克石市| 镇赉县| 大安市| 英吉沙县| 昌黎县| 德昌县| 江川县| 宿松县| 麻阳| 云安县| 鸡泽县| 山东省| 翼城县| 汝州市| 法库县| 丽江市| 阿拉善右旗| 崇文区| 襄垣县| 胶州市| 遵义市| 若羌县| 东丰县| 绥中县| 秦皇岛市| 绥化市| 丹东市| 河间市| 佛坪县| 高要市| 诸暨市| 景东| 九龙县| 丰县|