Hirdetés
- Google Pixel topik
- Fotók, videók mobillal
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Ismét az Apple veheti át a piacvezető pozíciót
- Milyen okostelefont vegyek?
- AGM G3 Pro - ordít róla, hogy szoftverfejlesztők kellenének
- Samsung Galaxy S24 - nos, Exynos
- Mobil flották
- Nothing Phone (3a) Lite – mennyit ér a név?
Ú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!
- Google Pixel topik
- Suzuki topik
- Apple asztali gépek
- Kormányok / autós szimulátorok topikja
- Path of Exile (ARPG)
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- GoodSpeed: Márkaváltás sok-sok év után
- One otthoni szolgáltatások (TV, internet, telefon)
- A fociról könnyedén, egy baráti társaságban
- Anime filmek és sorozatok
- További aktív témák...
- Apple iPhone 13 Mini 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone SE 2020 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple Watch Series 9 GPS+Cellular 41mm, 1 Év Garanciával
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3853, 100% Akkumulátor
- Bomba ár! HP Pro X360 11 G1 - Intel N4200 I 4GB I 128GB SSD I 11,6" HD Touch I Cam I W11 I Gari
- Corsair MM350 pro XL egérpad, új
- HP EliteBook 840 G7 i5-10210U 16GB 256GB FHD 400nit 1 év garancia
- iPhone 12 Pro Max emelt kapacitású 4530mAh diagnosztizálható akkumulátor, +ajándék ragasztó
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


