Swing


          天行健 君子以自強不息

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

          java2d 特效:圖像縮放

          Posted on 2007-05-30 09:37 zht 閱讀(2225) 評論(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中

          主站蜘蛛池模板: 西平县| 桓仁| 沛县| 德昌县| 东城区| 咸丰县| 平山县| 枝江市| 富蕴县| 东乌珠穆沁旗| 阿城市| 利津县| 红安县| 叶城县| 正阳县| 浦北县| 山阴县| 石首市| 都江堰市| 潞西市| 泽普县| 罗甸县| 金塔县| 个旧市| 丹寨县| 通山县| 长岭县| 庆城县| 平舆县| 乌拉特中旗| 读书| 孟州市| 海淀区| 十堰市| 灵台县| 响水县| 万盛区| 承德市| 德庆县| 正安县| 道真|