delphi - 寻找矩阵的位置
问题描述
以下代码显示鼠标位于图片矩阵 64x64 像素中的哪个矩形
如何简化此代码?数组的解决方案可能吗?
X,Y(鼠标)
// 代码从一个 2048x2048 像素的图像中获取 X,Y 位置的矩形,每个矩形 64x64 像素
我:点
案例 X 的
0 .. 63:
I.X := 0;
64 .. 127:
I.X := 1;
128 .. 191:
I.X := 2;
192 .. 255:
I.X := 3;
256 .. 319:
I.X := 4;
320 .. 383:
I.X := 5;
384 .. 447:
I.X := 6;
448 .. 511:
I.X := 7;
512 .. 575:
I.X := 8;
576 .. 639:
I.X := 9;
640 .. 703:
I.X := 10;
704 .. 767:
I.X := 11;
768 .. 831:
I.X := 12;
832 .. 895:
I.X := 13;
896 .. 959:
I.X := 14;
960 .. 1023:
I.X := 15;
1024 .. 1087:
I.X := 16;
1088 .. 1151:
I.X := 17;
1152 .. 1215:
I.X := 18;
1216 .. 1279:
I.X := 19;
1280 .. 1343:
I.X := 20;
1344 .. 1407:
I.X := 21;
1408 .. 1471:
I.X := 22;
1472 .. 1535:
I.X := 23;
1536 .. 1599:
I.X := 24;
1600 .. 1663:
I.X := 25;
1664 .. 1727:
I.X := 26;
1728 .. 1791:
I.X := 27;
1792 .. 1855:
I.X := 28;
1856 .. 1919:
I.X := 29;
1920 .. 1983:
I.X := 30;
1984 .. 2048:
I.X := 31;
结尾;
案例 Y
0 .. 63:
I.Y := 0;
64 .. 127:
I.Y := 1;
128 .. 191:
I.Y := 2;
192 .. 255:
I.Y := 3;
256 .. 319:
I.Y := 4;
320 .. 383:
I.Y := 5;
384 .. 447:
I.Y := 6;
448 .. 511:
I.Y := 7;
512 .. 575:
I.Y := 8;
576 .. 639:
I.Y := 9;
640 .. 703:
I.Y := 10;
704 .. 767:
I.Y := 11;
768 .. 831:
I.Y := 12;
832 .. 895:
I.Y := 13;
896 .. 959:
I.Y := 14;
960 .. 1023:
I.Y := 15;
1024 .. 1087:
I.Y := 16;
1088 .. 1151:
I.Y := 17;
1152 .. 1215:
I.Y := 18;
1216 .. 1279:
I.Y := 19;
1280 .. 1343:
I.Y := 20;
1344 .. 1407:
I.Y := 21;
1408 .. 1471:
I.Y := 22;
1472 .. 1535:
I.Y := 23;
1536 .. 1599:
I.Y := 24;
1600 .. 1663:
I.Y := 25;
1664 .. 1727:
I.Y := 26;
1728 .. 1791:
I.Y := 27;
1792 .. 1855:
I.Y := 28;
1856 .. 1919:
I.Y := 29;
1920 .. 1983:
I.Y := 30;
1984 .. 2048:
I.Y := 31;
结尾; //结束代码
谢谢
解决方案
使用整数除法(我希望.. 2048
是错误的)
I.X := X div 64;
I.Y := Y div 64;