首页 > 解决方案 > 寻找矩阵的位置

问题描述

以下代码显示鼠标位于图片矩阵 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;

结尾; //结束代码

谢谢

标签: delphi

解决方案


使用整数除法(我希望.. 2048是错误的)

I.X := X div 64;
I.Y := Y div 64;

推荐阅读