62,620
社区成员
发帖
与我相关
我的任务
分享g2d.drawRenderedImage(img, AffineTransform.getTranslateInstance(100.0, 200.0));
如果想以(100,200)为起点,且按照原样50%画图片
可以
AffineTransform transform = AffineTransform.getTranslateInstance(100,200); //先获得偏移
transform.scale(0.5, 0.5); // 在此基础上,长宽均缩小至50%
g2d.drawRenderedImage(img, transform);
当然,也可以直接对g2d.setTransform,今后所有操作的坐标系统,都将以此为标准。不过,记得set之前,先getTransform老的坐标系统,以备不时之需。
package demo;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class Demo extends JFrame{
private ImageIcon img;
public Demo(){
setTitle("demo");
setSize(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
img = new ImageIcon(new URL("http://avatar.csdn.net/D/A/4/1_tanweijia888.jpg"));
add(new JLabel(img));
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Demo d = new Demo();
d.setVisible(true);
}
});
}
}