在Java中,可以使用Graphics2D類的scale()方法來對正方形進行縮放操作
import javax.swing.*;
import java.awt.*;
public class SquareScalingExample extends JFrame {
public SquareScalingExample() {
setTitle("Square Scaling Example");
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
// 設置縮放比例
double scaleX = 2.0;
double scaleY = 2.0;
// 獲取畫布的寬度和高度
int canvasWidth = getWidth();
int canvasHeight = getHeight();
// 計算正方形的大小和位置
int squareSize = 100;
int squareX = (canvasWidth - squareSize) / 2;
int squareY = (canvasHeight - squareSize) / 2;
// 繪制原始正方形
g2d.setColor(Color.BLUE);
g2d.fillRect(squareX, squareY, squareSize, squareSize);
// 應用縮放
g2d.scale(scaleX, scaleY);
// 計算縮放后的正方形的位置
int scaledSquareX = (int) (squareX / scaleX);
int scaledSquareY = (int) (squareY / scaleY);
// 繪制縮放后的正方形
g2d.setColor(Color.RED);
g2d.fillRect(scaledSquareX, scaledSquareY, squareSize, squareSize);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new SquareScalingExample().setVisible(true);
});
}
}
這個示例將創建一個包含兩個正方形的窗口。第一個正方形是藍色的,表示原始大小。第二個正方形是紅色的,表示縮放后的大小。通過調整scaleX和scaleY變量的值,可以控制正方形的縮放比例。