Hirdetés
Ú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!
- Gitáros topic
- Kormányok / autós szimulátorok topikja
- Hálózati / IP kamera
- Milyen légkondit a lakásba?
- Samsung Galaxy A56 - megbízható középszerűség
- Apple iPhone 17 - alap
- Kompakt vízhűtés
- Azonnali alaplapos kérdések órája
- Miskolc és környéke adok-veszek-beszélgetek
- Google Pixel topik
- További aktív témák...
- ÚJ állapotú Lenovo 15,6"FullHD IPS,Ryzen5(6x4Ghz)Vega 6 VGA,12-20GB RAM,SSD+HDD
- Glorious Model O Wired White szinte új, dobozos
- EVGA 850GQ - hibátlan, tesztelt, teljes szett - eladó!
- Meletrix ZOOM TKL DYNA - féláron
- AMD Ryzen 5 5600 6-Core 3.5GHz AM4 Box (100-100000927BOX) - Azonnal átvehető, Számla + Garancia: 1év
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS C246M i5 9400F 16GB DDR4 250GB SSD 1TB HDD GTX 1660 Super 6GB Zalman N4 Zalman 600W
- LG 27GS95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / 1000 Nits / NVIDIA G-Sync / AMD FreeSync
- AKCIÓ! Asus ROG STRIX Z490-G Gaming WiFi alaplap garanciával hibátlan működéssel
- HIBÁTLAN iPhone 13 Mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3342
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest