Nastavení šumu - C# – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nastavení šumu - C# – .NET – Fórum – Programujte.comNastavení šumu - C# – .NET – Fórum – Programujte.com

 

Alan0
Věrný člen
12. 10. 2006   #1
-
0
-

Zdrav?m, m?m jeden probl?m. Pot?ebuji v programu nastavit ?um pomoc? trackbaru. P?eklada? mi to v pohod? p?elo??, ale kdy? zm?n?m hodnotu trackbaru, program se sekne..

Uk?zka k?du:



private void pridatSum(object sender,EventArgs e){
trackbar = new TrackBar();

trackbar.ValueChanged += new EventHandler(velikostSumu);
}

private void velikostSumu(object sender,EventArgs e){
rackBar tb = (TrackBar) sender;
int v = tb.Value;

Random rand = new Random();

for (int i = 0; i < image.Width; i++){
for (int j = 0; j < image.Height; j++){

Color clr = image.GetPixel(i, j);
Color clr1 = Color.FromArgb(
Math.Min(rand.Next(v) + clr.R, 255),
Math.Min(rand.Next(v) + clr.G, 255),
Math.Min(rand.Next(v) + clr.B, 255));
image.SetPixel(i, j, clr1);
}
}

Invalidate();
}



Dod?m je?t? ?e prom?nn? image j e typu bitmap. Kdybyste na n?co p?i?li, ur?it? napi?te, d?ky! :ok:

Nahlásit jako SPAM
IP: ...–
PSP user|Web developer|C4D user||Maya Lamer|Photoshop User|Guitar player
some_one0
Návštěvník
14. 10. 2006   #2
-
0
-

Nelíbí se mi, že ten eventhandler je nastavován v nějaké události... nebo v čem - aby se nepřiřazoval vícekrát, nastavil bych to akorát v konstruktoru.

Nahlásit jako SPAM
IP: ...–
Alan0
Věrný člen
14. 10. 2006   #3
-
0
-

Dal jsem sem jenom ukázku kodu. Cela procedura pridatSum vypadá takto:



private void pridatSum(object sender,EventArgs e){
fSum = new Form();

trackbar = new TrackBar();
Button btnOk = new Button();

fSum.Text = "P?idat ?um";
fSum.Size = new Size(350,120);
fSum.FormBorderStyle = FormBorderStyle.FixedToolWindow;

trackbar.Location = new Point(10,10);
trackbar.Size = new Size(325,50);
trackbar.TickStyle = TickStyle.TopLeft;
trackbar.Orientation = Orientation.Horizontal;
trackbar.Minimum = 0;
trackbar.Maximum = 50;
trackbar.SmallChange = 1;
trackbar.LargeChange = 1;
trackbar.TickFrequency = 1;
trackbar.Value = 0;
trackbar.Parent = fSum;
trackbar.TabStop = false;
trackbar.ValueChanged += new EventHandler(OnValueChanged);

btnOk.Text = "Zav??t";
btnOk.Size = new Size(50,20);
btnOk.Location = new Point(150,60);
btnOk.BackColor = Color.FromArgb(214,240,255);
btnOk.Parent = fSum;
btnOk.Click += new EventHandler(sumKonec);

fSum.Visible = true;
}



to znamená, že se vytvoří nový okno, a v něm bude ten trackbar..

Nahlásit jako SPAM
IP: ...–
PSP user|Web developer|C4D user||Maya Lamer|Photoshop User|Guitar player
some_one0
Návštěvník
17. 10. 2006   #4
-
0
-

Jasně, hezké řešení,

a kde to zůstane? Co to zkusit odkrokovat,
možná bych ještě taky zkontroloval, že ten sender ve změně hodnoty šumu, je skutečně správný, a možná bych ho nahradil přímým odkazem na něj.

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý