Diskuze: Otáčení obrázku v pictureBoxu za myší
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
pokud je to winform, tak to nedělej tak, že se bude obrázek otáčet, ale
udělej si obrázky pro obrázky u po krocích s různými úhly, a vždy
vykresluj jen tu část , kterou budeš potřebovat. Klasicky se tak dělají
otočné potenciometry třeba pro ovládání hlasitosti.
Obrázek vypadá nějak takto:
Aby si docílil efektu neustálého otáčení šipky, musíš zjišťovat pozici kurzoru myši v každém framu, vypočítat úhel a vykreslit šipku otočenou o tento úhel.
normálně šipka je složená třeba ze 7 bodů resp. 7 useček no a tak si střed tý šipky nakreslíš někde doprostřed souřadnýho systému na pozici P(x=0,y=0) takže část šipky bude v záporných souřadnicích a část v kladných a pak budeš jenom otáčet bodama tý šipky podle pozice myši:
tady to máš napsaný : https://veiner.eu/…ivrovine.php
x=x′cos(φ)+y′sin(φ)
y=y′cos(φ)−x′sin(φ)
a zjištění pozice kurzoru myši ve tvém okně se dělá takhle
https://docs.microsoft.com/…sor.position?…
nebo na celé obrazovce pak pomocí funkce WinAPI
[DllImport("user32.dll")]
public static extern bool GetCursorPos(out POINT lpPoint);
https://stackoverflow.com/…n-in-c-sharp
buď to dáš do cyklu nabo si spustíš časovač aby ti to četl nebo si
Hookneš událost windows:
Zobrazeno 4 zpráv z 4.