Hirdetés
- Mindenkinél több és erősebb AI gyorsítót ígér Elon Musk
- M.2 csatlakozók terén (is) jónak ígérkezik az MSI közelgő AMD-s alaplapja
- Kivégezheti a kisebb VGA-gyártókat az NVIDIA döntése
- Szinte a semmiből robbanna be az 1,4 nm-es eljárásával a Rapidus
- Félszáz terabájtos HDD-k előtt nyitotta ki az ajtót a Seagate
- Gyors, éles, olcsó: Acer Predator XB273K V5 teszt
- Apple asztali gépek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Szinte a semmiből robbanna be az 1,4 nm-es eljárásával a Rapidus
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nem indul és mi a baja a gépemnek topik
- Milyen házat vegyek?
- Nvidia GPU-k jövője - amit tudni vélünk
- Azonnali alaplapos kérdések órája
- eGPU tapasztalatok
Új hozzászólás Aktív témák
-
Zalanius
tag
válasz
BTminishop
#8017
üzenetére
Ehhez előbb a Click eventet elfogni képes elemre van szükség. Többféleképpen is neki lehet vágni, ha mindenképpen szeretnél egy mátrixot, akkor azt fel lehet építeni pictureBox vagy hasonló elemekből is, és akkor a tömb minden eleméhez hozzárendelhető egy metódus rajzolási célból.
De itt akár mellőzhetők is a tömbök, ha "canvas" céljából egy pictureBoxot vagy hasonlót alkalmazunk, és a kattintás koordinátáiból állapítod meg utána, hogy a sakktábla melyik mezőjére kell rajzolni. Tegyük fel, hogy adott egy 400*400 pixeles pictureBox (pb), meg valahol a fájlrendszerben egy kép tesztelésre (queen_41.png), ekkor vázlatosan:
const int WIDTH = 50;
const int SIZE = 8;
const int IMGSIZE = 41;
const string IMGPATH = @"T:\queen_41.png";
public Form1()
{
InitializeComponent();
pb.MouseClick += Pb_MouseClick;
}
private void button1_Click(object sender, EventArgs e)
{
Graphics g = pb.CreateGraphics();
for (int i = 0; i < SIZE; i++)
{
for (int j = 0; j < SIZE; j++)
{
g.FillRectangle((i + j) % 2 == 0 ? Brushes.White : Brushes.Black, i * WIDTH, j * WIDTH, WIDTH, WIDTH);
}
}
}
private void Pb_MouseClick(object sender, MouseEventArgs e)
{
float x, y;
x = e.X - (e.X % WIDTH) + (WIDTH - IMGSIZE) / 2;
y = e.Y - (e.Y % WIDTH) + (WIDTH - IMGSIZE) / 2;
Graphics g = pb.CreateGraphics();
g.DrawImage(Image.FromFile(IMGPATH), x, y);
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Óvodások homokozója
- Gyors, éles, olcsó: Acer Predator XB273K V5 teszt
- Spórolós topik
- Robotporszívók
- Kuponkunyeráló
- Együttműködik az Infinix és a Pininfarina
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Apple asztali gépek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- BestBuy topik
- További aktív témák...
- Eladó Samsung 24" Full HD LED monitor (S24C450B)
- 2013 Late 27 iMac - 1TB HDD i5 core4 24GB RAM 2GB GTX
- Bomba ár! Toshiba Portege R930 - i5-3GEN I 4GB I 320GB I DVDRW I 13,3" HD I HDMI I Cam I W10 I Gari!
- Bomba ár! Toshiba Portege X30-E - i5-8250U I 8GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! Toshiba Satellite Pro A40-D - i5-7200U I 8GB I 256SSD I 14" HD I Cam I W11 I Garancia!
- Logitech Webkamera MeetUp 120 -os látótér, mikrofon, 4K Ultra HD
- GYÖNYÖRŰ iPhone 12 mini 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3849, 100% Akksi
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue Titanium-1ÉV GARANCIA-Kártyafüggetlen,MS3971,100% Akksi,MS4091
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- Fujitsu LIFEBOOK E449 i3-8130U 12GB 512GB 14" FHD 1 év garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest


