Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调整具有gif格式的图像图标的大小_Java - Fatal编程技术网

Java 调整具有gif格式的图像图标的大小

Java 调整具有gif格式的图像图标的大小,java,Java,我试着做两件事 1.我的代码中有一个名为dice的图像图标,当你按下它时,它会变成一个名为dice2的移动图像图标。但是,我无法调整移动图像图标的大小 2.为骰子2设置计时器,以及当完成的骰子显示时 这是到目前为止我的代码 ImageIcon dice = new ImageIcon("dice.png") ; Image image = dice.getImage(); // transform it Image newimg = image.getScaledInstance(

我试着做两件事 1.我的代码中有一个名为dice的图像图标,当你按下它时,它会变成一个名为dice2的移动图像图标。但是,我无法调整移动图像图标的大小 2.为骰子2设置计时器,以及当完成的骰子显示时

这是到目前为止我的代码

  ImageIcon dice = new ImageIcon("dice.png") ;
  Image image = dice.getImage(); // transform it 
  Image newimg = image.getScaledInstance(150, 120,java.awt.Image.SCALE_SMOOTH); // scale it the smooth way  
  dice = new ImageIcon(newimg) ;
  dice_1 = new JButton(dice);           
  dice_1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
          dicePanel.remove(dice_1);
          dicePanel.revalidate();
          dicePanel.repaint();                
          ImageIcon dice2 = new ImageIcon("dice.gif");
          dice_1 = new JButton(dice2);
          dice_1.setOpaque(false);
          dice_1.setContentAreaFilled(false);
          dice_1.setBorderPainted(false);
          dicePanel.add(dice_1);  
          // random number 
          Random r = new Random();
          R = r.nextInt(10) + 2;
          randomNumbe.setText("تقدم " + R + " خطوة");
      }
  });

支持缩放平滑和缩放区域平均的区域平均算法似乎不适用于动画GIF。当我使用它时,我会得到一张空白图像


不过,缩放默认值效果很好。

我不确定是否可以在Java中缩放gif,或者至少不需要大量工作,最好是在外部进行缩放,我们有大小图像,每侧一个,使用摆动计时器,随机切换图像。有没有一个我可以遵循计时器的示例,