首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Canvas按角度画点如何弄

2013-09-07 
Canvas按角度画点怎么弄这个是底图,以中间的交叉点为中心.绘制1000个点.这些点平分360度.for i:0 to 999

Canvas按角度画点怎么弄
Canvas按角度画点如何弄
这个是底图,以中间的交叉点为中心.
绘制1000个点.这些点平分360度.
for i:=0 to 999 do
begin
tmp_x:= cos(0.36*i)*dot[i]+print_centre.x;
tmp_y:= sin(0.36*i)*dot[i]+print_centre.y;
form1.Canvas.Pixels[Round(tmp_x),Round(tmp_y)]:=clred;
end;


Canvas按角度画点如何弄

下面是1000个点,可以用\d{4}提取
R=2608;2609;2611;2612;2614;2616;2618;2619;2621;2622;2624;2625;2626;2627;2628
R=2629;2629;2629;2629;2629;2629;2628;2627;2626;2625;2623;2621;2619;2617;2614
R=2611;2607;2604;2600;2595;2590;2585;2580;2574;2568;2561;2555;2548;2540;2532
R=2524;2516;2507;2498;2488;2478;2468;2457;2446;2435;2423;2411;2399;2386;2374
R=2361;2348;2336;2323;2310;2297;2285;2272;2259;2247;2234;2221;2209;2196;2184
R=2171;2159;2147;2134;2122;2110;2098;2085;2073;2061;2049;2037;2026;2014;2002
R=1990;1979;1967;1956;1945;1934;1923;1912;1901;1891;1881;1871;1861;1851;1841
R=1832;1822;1813;1804;1795;1786;1777;1768;1760;1751;1743;1735;1727;1719;1711
R=1703;1696;1688;1681;1673;1666;1659;1652;1645;1638;1631;1625;1618;1611;1605
R=1599;1593;1587;1581;1575;1569;1563;1557;1552;1546;1541;1536;1530;1525;1520
R=1515;1510;1505;1500;1496;1491;1486;1482;1478;1473;1469;1465;1461;1457;1453
R=1449;1445;1441;1437;1434;1430;1426;1423;1420;1416;1413;1410;1407;1404;1400
R=1398;1395;1392;1389;1386;1384;1381;1378;1376;1373;1371;1369;1366;1364;1362
R=1360;1358;1356;1354;1352;1350;1348;1346;1345;1343;1342;1340;1339;1337;1336
R=1334;1333;1332;1331;1330;1328;1327;1326;1325;1325;1324;1323;1322;1322;1321
R=1320;1320;1319;1319;1318;1318;1318;1318;1317;1317;1317;1317;1317;1317;1317
R=1317;1318;1318;1318;1319;1319;1320;1320;1321;1321;1322;1323;1324;1324;1325
R=1326;1327;1328;1329;1331;1332;1333;1334;1336;1337;1339;1340;1342;1344;1345
R=1347;1349;1351;1353;1355;1357;1359;1361;1363;1365;1368;1370;1372;1375;1377
R=1380;1383;1385;1388;1391;1394;1397;1400;1403;1406;1409;1412;1415;1419;1422
R=1426;1429;1433;1437;1440;1444;1448;1452;1456;1460;1464;1469;1473;1477;1482
R=1486;1491;1495;1500;1505;1510;1515;1520;1525;1530;1536;1541;1547;1552;1558
R=1563;1569;1575;1581;1587;1593;1600;1606;1612;1619;1626;1632;1639;1646;1653
R=1660;1667;1675;1682;1690;1697;1705;1713;1721;1729;1737;1746;1754;1762;1771
R=1780;1789;1798;1807;1816;1826;1835;1845;1854;1864;1874;1884;1895;1905;1915
R=1926;1937;1948;1959;1970;1982;1993;2005;2017;2029;2042;2054;2067;2080;2093
R=2107;2120;2134;2147;2161;2175;2188;2202;2216;2230;2244;2257;2271;2285;2298
R=2312;2326;2339;2352;2366;2379;2392;2406;2419;2432;2445;2458;2470;2483;2495
R=2507;2519;2530;2541;2552;2562;2571;2580;2589;2597;2605;2612;2619;2625;2631
R=2637;2643;2648;2652;2656;2660;2664;2667;2670;2672;2675;2677;2678;2679;2680
R=2681;2682;2682;2682;2682;2681;2681;2680;2679;2678;2677;2676;2674;2673;2671
R=2669;2667;2665;2663;2661;2659;2657;2655;2653;2652;2650;2648;2646;2644;2642


R=2640;2638;2636;2634;2632;2630;2628;2626;2624;2622;2620;2619;2617;2615;2614
R=2612;2611;2609;2608;2606;2605;2603;2602;2601;2599;2598;2596;2595;2593;2592
R=2590;2589;2587;2586;2585;2583;2582;2580;2579;2578;2576;2575;2573;2572;2571
R=2569;2568;2567;2565;2564;2563;2561;2560;2559;2558;2556;2555;2554;2552;2551
R=2549;2547;2546;2544;2542;2539;2537;2534;2532;2529;2526;2522;2519;2515;2511
R=2507;2502;2498;2493;2488;2482;2477;2471;2465;2459;2453;2446;2439;2432;2425
R=2417;2409;2401;2393;2385;2376;2367;2358;2348;2338;2329;2319;2308;2298;2287
R=2276;2265;2254;2243;2232;2220;2209;2197;2185;2174;2162;2150;2138;2126;2115
R=2103;2091;2080;2068;2057;2046;2034;2023;2013;2002;1991;1981;1970;1960;1950
R=1940;1930;1920;1911;1901;1892;1882;1873;1864;1855;1846;1837;1828;1819;1811
R=1802;1794;1785;1777;1769;1761;1754;1746;1738;1731;1723;1716;1709;1702;1695
R=1688;1682;1675;1668;1662;1656;1649;1643;1637;1631;1626;1620;1614;1609;1603
R=1598;1592;1587;1582;1576;1571;1566;1561;1556;1552;1547;1542;1538;1533;1529
R=1524;1520;1516;1512;1508;1504;1500;1496;1492;1489;1485;1482;1478;1475;1471
R=1468;1465;1462;1459;1456;1453;1450;1447;1445;1442;1439;1437;1434;1432;1429
R=1427;1425;1422;1420;1418;1416;1414;1412;1410;1408;1406;1404;1403;1401;1399
R=1398;1396;1395;1393;1392;1390;1389;1388;1386;1385;1384;1383;1382;1381;1380
R=1379;1378;1378;1377;1376;1376;1375;1375;1374;1374;1373;1373;1373;1372;1372
R=1372;1372;1372;1372;1372;1372;1372;1373;1373;1373;1373;1374;1374;1375;1375
R=1376;1377;1377;1378;1379;1380;1381;1382;1383;1384;1385;1386;1387;1388;1390
R=1391;1392;1394;1395;1397;1398;1400;1402;1403;1405;1407;1409;1411;1412;1414
R=1416;1419;1421;1423;1425;1427;1430;1432;1434;1437;1439;1442;1445;1447;1450
R=1453;1456;1459;1462;1465;1468;1471;1475;1478;1482;1485;1489;1492;1496;1500
R=1504;1508;1512;1516;1520;1524;1528;1533;1537;1541;1546;1550;1555;1560;1564
R=1569;1574;1579;1584;1589;1594;1599;1604;1610;1615;1620;1626;1632;1637;1643
R=1649;1655;1661;1667;1673;1679;1685;1691;1698;1704;1710;1717;1723;1730;1737
R=1743;1750;1757;1764;1771;1778;1785;1792;1799;1807;1814;1822;1829;1837;1845
R=1853;1861;1869;1877;1886;1894;1903;1911;1920;1929;1938;1947;1956;1965;1974
R=1983;1992;2001;2010;2019;2028;2037;2046;2055;2064;2073;2081;2090;2098;2107
R=2116;2124;2132;2141;2149;2158;2166;2174;2182;2190;2199;2207;2215;2223;2230
R=2238;2246;2254;2261;2268;2276;2283;2290;2297;2304;2311;2318;2324;2331;2337
R=2344;2350;2356;2362;2368;2374;2380;2386;2392;2398;2404;2410;2416;2422;2428
R=2434;2439;2445;2451;2456;2462;2467;2473;2478;2483;2488;2493;2497;2502;2507
R=2511;2516;2520;2525;2529;2533;2538;2542;2546;2550;2554;2558;2562;2566;2570
R=2573;2577;2581;2584;2588;2591;2595;2598;2602;2605

我的提取方法
      dot := nil;
      setlength(dot,1000);
      match := TRegEx.Match(filedate, '(\d{4})');


      if  Match.Success  then
        begin
          while Match.Success do
            begin
              dot[i]:=strtoint(match.Groups[1].Value);
              Match := Match.NextMatch;
            end;
      end;


众位大侠,我绘制的点不知道为什么,怎么都不对.

type
  TDirection = (dirLeft, dirRight);
procedure TForm1.Button1Click(Sender: TObject);
begin
  DrawGlassFrame(dirLeft);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  DrawGlassFrame(dirRight);
end;

procedure TForm1.DrawGlassFrame(dir: TDirection);
const
  dot: array[0..999] of integer = (//没有正则,直接转成数组
    2608,2609,2611,2612,2614,2616,2618,2619,2621,2622,2624,2625,2626,2627,2628,
    2629,2629,2629,2629,2629,2629,2628,2627,2626,2625,2623,2621,2619,2617,2614,
    2611,2607,2604,2600,2595,2590,2585,2580,2574,2568,2561,2555,2548,2540,2532,
    2524,2516,2507,2498,2488,2478,2468,2457,2446,2435,2423,2411,2399,2386,2374,
    2361,2348,2336,2323,2310,2297,2285,2272,2259,2247,2234,2221,2209,2196,2184,
    2171,2159,2147,2134,2122,2110,2098,2085,2073,2061,2049,2037,2026,2014,2002,
    1990,1979,1967,1956,1945,1934,1923,1912,1901,1891,1881,1871,1861,1851,1841,
    1832,1822,1813,1804,1795,1786,1777,1768,1760,1751,1743,1735,1727,1719,1711,
    1703,1696,1688,1681,1673,1666,1659,1652,1645,1638,1631,1625,1618,1611,1605,
    1599,1593,1587,1581,1575,1569,1563,1557,1552,1546,1541,1536,1530,1525,1520,
    1515,1510,1505,1500,1496,1491,1486,1482,1478,1473,1469,1465,1461,1457,1453,


    1449,1445,1441,1437,1434,1430,1426,1423,1420,1416,1413,1410,1407,1404,1400,
    1398,1395,1392,1389,1386,1384,1381,1378,1376,1373,1371,1369,1366,1364,1362,
    1360,1358,1356,1354,1352,1350,1348,1346,1345,1343,1342,1340,1339,1337,1336,
    1334,1333,1332,1331,1330,1328,1327,1326,1325,1325,1324,1323,1322,1322,1321,
    1320,1320,1319,1319,1318,1318,1318,1318,1317,1317,1317,1317,1317,1317,1317,
    1317,1318,1318,1318,1319,1319,1320,1320,1321,1321,1322,1323,1324,1324,1325,
    1326,1327,1328,1329,1331,1332,1333,1334,1336,1337,1339,1340,1342,1344,1345,
    1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1368,1370,1372,1375,1377,
    1380,1383,1385,1388,1391,1394,1397,1400,1403,1406,1409,1412,1415,1419,1422,
    1426,1429,1433,1437,1440,1444,1448,1452,1456,1460,1464,1469,1473,1477,1482,
    1486,1491,1495,1500,1505,1510,1515,1520,1525,1530,1536,1541,1547,1552,1558,
    1563,1569,1575,1581,1587,1593,1600,1606,1612,1619,1626,1632,1639,1646,1653,
    1660,1667,1675,1682,1690,1697,1705,1713,1721,1729,1737,1746,1754,1762,1771,
    1780,1789,1798,1807,1816,1826,1835,1845,1854,1864,1874,1884,1895,1905,1915,
    1926,1937,1948,1959,1970,1982,1993,2005,2017,2029,2042,2054,2067,2080,2093,
    2107,2120,2134,2147,2161,2175,2188,2202,2216,2230,2244,2257,2271,2285,2298,
    2312,2326,2339,2352,2366,2379,2392,2406,2419,2432,2445,2458,2470,2483,2495,
    2507,2519,2530,2541,2552,2562,2571,2580,2589,2597,2605,2612,2619,2625,2631,
    2637,2643,2648,2652,2656,2660,2664,2667,2670,2672,2675,2677,2678,2679,2680,
    2681,2682,2682,2682,2682,2681,2681,2680,2679,2678,2677,2676,2674,2673,2671,
    2669,2667,2665,2663,2661,2659,2657,2655,2653,2652,2650,2648,2646,2644,2642,
    2640,2638,2636,2634,2632,2630,2628,2626,2624,2622,2620,2619,2617,2615,2614,
    2612,2611,2609,2608,2606,2605,2603,2602,2601,2599,2598,2596,2595,2593,2592,
    2590,2589,2587,2586,2585,2583,2582,2580,2579,2578,2576,2575,2573,2572,2571,
    2569,2568,2567,2565,2564,2563,2561,2560,2559,2558,2556,2555,2554,2552,2551,
    2549,2547,2546,2544,2542,2539,2537,2534,2532,2529,2526,2522,2519,2515,2511,
    2507,2502,2498,2493,2488,2482,2477,2471,2465,2459,2453,2446,2439,2432,2425,
    2417,2409,2401,2393,2385,2376,2367,2358,2348,2338,2329,2319,2308,2298,2287,
    2276,2265,2254,2243,2232,2220,2209,2197,2185,2174,2162,2150,2138,2126,2115,


    2103,2091,2080,2068,2057,2046,2034,2023,2013,2002,1991,1981,1970,1960,1950,
    1940,1930,1920,1911,1901,1892,1882,1873,1864,1855,1846,1837,1828,1819,1811,
    1802,1794,1785,1777,1769,1761,1754,1746,1738,1731,1723,1716,1709,1702,1695,
    1688,1682,1675,1668,1662,1656,1649,1643,1637,1631,1626,1620,1614,1609,1603,
    1598,1592,1587,1582,1576,1571,1566,1561,1556,1552,1547,1542,1538,1533,1529,
    1524,1520,1516,1512,1508,1504,1500,1496,1492,1489,1485,1482,1478,1475,1471,
    1468,1465,1462,1459,1456,1453,1450,1447,1445,1442,1439,1437,1434,1432,1429,
    1427,1425,1422,1420,1418,1416,1414,1412,1410,1408,1406,1404,1403,1401,1399,
    1398,1396,1395,1393,1392,1390,1389,1388,1386,1385,1384,1383,1382,1381,1380,
    1379,1378,1378,1377,1376,1376,1375,1375,1374,1374,1373,1373,1373,1372,1372,
    1372,1372,1372,1372,1372,1372,1372,1373,1373,1373,1373,1374,1374,1375,1375,
    1376,1377,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1390,
    1391,1392,1394,1395,1397,1398,1400,1402,1403,1405,1407,1409,1411,1412,1414,
    1416,1419,1421,1423,1425,1427,1430,1432,1434,1437,1439,1442,1445,1447,1450,
    1453,1456,1459,1462,1465,1468,1471,1475,1478,1482,1485,1489,1492,1496,1500,
    1504,1508,1512,1516,1520,1524,1528,1533,1537,1541,1546,1550,1555,1560,1564,
    1569,1574,1579,1584,1589,1594,1599,1604,1610,1615,1620,1626,1632,1637,1643,
    1649,1655,1661,1667,1673,1679,1685,1691,1698,1704,1710,1717,1723,1730,1737,
    1743,1750,1757,1764,1771,1778,1785,1792,1799,1807,1814,1822,1829,1837,1845,
    1853,1861,1869,1877,1886,1894,1903,1911,1920,1929,1938,1947,1956,1965,1974,
    1983,1992,2001,2010,2019,2028,2037,2046,2055,2064,2073,2081,2090,2098,2107,
    2116,2124,2132,2141,2149,2158,2166,2174,2182,2190,2199,2207,2215,2223,2230,
    2238,2246,2254,2261,2268,2276,2283,2290,2297,2304,2311,2318,2324,2331,2337,
    2344,2350,2356,2362,2368,2374,2380,2386,2392,2398,2404,2410,2416,2422,2428,
    2434,2439,2445,2451,2456,2462,2467,2473,2478,2483,2488,2493,2497,2502,2507,
    2511,2516,2520,2525,2529,2533,2538,2542,2546,2550,2554,2558,2562,2566,2570,
    2573,2577,2581,2584,2588,2591,2595,2598,2602,2605);
var
  i:integer;
  x, y: double;
begin
  canvas.Pen.Color := clBlack;
  canvas.Rectangle(100, 100, 700, 700);
  canvas.MoveTo(100, 400);//400是矩形中点


  canvas.LineTo(700, 400);
  canvas.MoveTo(400, 100);
  canvas.LineTo(400, 700);

  for i:=0 to 999 do begin
    {x:= cos(0.36*i*pi/180)*dot[i]*0.1+400;//把坐标缩小的10倍
    y:= sin(0.36*i*pi/180)*dot[i]*0.1+400;//把坐标缩小的10倍}
    if dir=dirLeft then
      x:= cos(i*2*pi/1000)*dot[i]*0.1+400
    else
      x:= -cos(i*2*pi/1000)*dot[i]*0.1+400;
    y:= sin(i*2*pi/1000)*dot[i]*0.1+400;
    Canvas.Pixels[Round(x),Round(y)]:=clred;
    {if (tmp_x<0) or (tmp_y<0) then
      Memo1.Lines.Add(Format('%d, %d', [Round(tmp_x),Round(tmp_y)]));}
  end;
end;

热点排行