我目前正在尝试用java制作Puzzle-15。
我使用BufferedImage列表作为tile,并使用g2d在坐标(x,y)处绘制它们。 我计算每个瓷砖应该有多大:
int borderSize = 4;
int boardSize = 400 - 4*2;
int tilesPerRow = 40;
int tileSize = boardSize/tilesPerRow; // This will be floored to 9.
然后当图像被涂上时,它只涂上9 * 40的瓷砖。 360像素..所以剩下32个像素。如果你看一下我在下面添加的图像,你可以清楚地看到它是多么丑陋。
我尝试过使用affineTransform,但我无法使用它。
我希望你们其中一个人有个好主意:)
答案 0 :(得分:0)
继承我的两种方法:
如果你想要x1为10而x2为9,总共为392
你有10 * x1 + 9 * x2 = 392
X1 + X2 = 40
你解决方程并获得x1和x2
B:
您将空间放大到3920,每块瓷砖有98像素:40 * 98
然后你重新缩放到392 - 这是一个统一的缩放10,缩放到图形系统