Új hozzászólás Aktív témák
-
Zalanius
tag
Szia,
nagyjából látom, mit akarsz kihozni abból a kódból, de az Image property kasztolásakor szerintem gond lesz a referenciával (és/vagy a picturebox viselkedésének is utána kellene nézni a pontos magyarázathoz). Azonkívül ha a gombkattintásra akarod húzni a vonalat, akkor ne a pictureBox1_Click metódusba írd, hanem a button1_Click-be. Első körben:
Bitmap temp = (Bitmap)pictureBox1.Image;
Szakasz2(temp, x1, y1, x2, y2, szín);
pictureBox1.Image = temp;Nyilván lehetne még polírozni, de ebből látszik a lényeg. A Refresh(); hívás meg nem kell.
[ Szerkesztve ]
--= Zalán =--
-
Zalanius
tag
Egy kis pozícionálási hiba van abban a kódban, így ebben a formában nem is fordulhat le. Ez a két sor van rossz helyen:
int x1 = int.Parse(textBox1.Text);
int y1 = int.Parse(textBox2.Text);Egyből az egy fordítási hiba, hogy nem adható két ilyen mezőnek kezdőérték másik mezőből. De ebben most nem is kell elmerülni, mert a célod a futás közben beírt értékek kiolvasása, tehát a két sor helye a button1_click metódusban van, még a Szakasz2 hívás előtt. A Parse metódusról tudni kell, hogy feltételezi az input megfelelő formátumát, tehát két töküres textbox esetén kivételre futsz vele. Szöveges tartalom esetén szintén. Hasznos olvasnivaló lehet ezért: Int32.TryParse.
--= Zalán =--
-
Zalanius
tag
Szia,
nem pontosan értem a részleteket, de az biztos, hogy a bitmappel kapcsolatban nincs művelet a függvényedben, talán csak ennyi hiányzik. Az a kód egy körnegyedet rajzolna nagyjából. A "hullám" alapján valami hasonlóra gondoltam, aztán ha más a változók értelme, mint a tippem, akkor azt is igazítani kell:public void Hullam(Bitmap bmp, int x0, int y0, int r, double alfa1, double alfa2, Color szín)
{
double x = 0, y = 0;
while (x*alfa1 < bmp.Width - x0 && y < y0)
{
y = alfa2 * Math.Sin(x);
bmp.SetPixel((int)(x0 + x *alfa1), (int)(y0 - y), szín);
x += 0.01;
}
this.Refresh();
}--= Zalán =--
Ú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!
- EDIFIER R1700BTS hangfal pár makulátlan, új állapotban, 2 év hivatalos garanciával, alkalmi áron
- LG OLED55B23LA 2 Év GYÁRI GARANCIA
- Apple iPhone XR 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC , i7 12700KF , RTX 3080 Ti , 64GB DDR5 , 960GB NVME , 1TB HDD
- Intel PC , i5 8500 , 1660 6GB , 32GB DDR4 , 512GB NVME , 500GB HDD
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen