我有一个自定义图像对象,它以固定大小的图块组织,放置在图块网格中。例如,假设固定tileSize
是256像素(每个图块是256x256像素的子图像),并且我的全局图像是1000x500像素:这会产生4x2图块的图块网格256x256像素。
现在,给定全局图像坐标中的一个点,这是我转换为平铺坐标的方式(即平铺网格中的平铺位置,加上该像素内的像素位置):
struct Point {
int x;
int y;
}
Point pGlobal = (...);
// Grid coordinates of the tile containing pGlobal
Point pTileGrid = Point(pGlobal.x / tileSize, pGlobal.y / tileSize);
// Pixel inside that tile that contains pGlobal
Point pTile = Point(pGlobal.x % tileSize, pGlobal.y % tileSize);
问题是这很慢。我该如何优化呢?
提前谢谢你。如果我在任何时候都没有正确解释,请让我改进我的表述。