C#

Aaa, nisam shvatio da ti treba za to i tako brzo... Onda bi možda trebao da pitaš codemaker-a, čovek je guru, a najviše voli da pomaže u ovakvim situacijama :mrgreen:
 
E ljudi imam problem u c#. Treba da napravim formu,picture box, ucitam sliku (ja to sve lepo uradim) ali kad ucitam sliku treba da zamenim boje npr. sve sto je bilo crveno da bude zeleno. Otprilike treba da citam pixel po pixel i kako se nailazim, konkretno u mom slucaju, na crvene pixele zamenjujem ih zelenim.Ako neko ima ideje ili jos bolje reseno tj kod za ovaj deo " rotacije boja" neka pise.Evo i e-mail: slavkank@yahoo.com
 
Pošto učitaš sliku, a pre nego što je prikažeš uradiš skeniranje koje pominješ, dakle čitaš boje pixel, po pixel i menjaš sve one koji ispunjavaju uslov drugom odgovarajućom bojom.
 
Verovatno nije najelegantnije i sigurno može mnogo brže al' eto i ovo radi :)

Kod:
		private void MenjajBoju()
		{
			Bitmap pic1 = new Bitmap("C:\\NekaSlika.jpg");
			for( int y = 0; y < pic1.Height; ++y) 
				for( int x = 0; x < pic1.Width; ++x) 
				{
					Color boja = pic1.GetPixel(x,y);
					if( boja.B == 0 && boja.R == 0 && boja.G == 0) //crna boja
					{
						pic1.SetPixel( x, y, Color.Green);
					}
					/* i tako dalje za svaku boju.... */
				}
			picFrm.BackgroundImage = pic1;
		}


picFrm je PictureBox kontrola...
 
e jao meni ovo nece da proradi.Javlja mi gresku kod ovoga "GetPixel" i "SetPixel" ali ne znam zbog cega.Izbacio sam ovaj deo koda
"Bitmap pic1 = new Bitmap("C:\\NekaSlika.jpg");"
posto sam sliku ucitavao tako sto dodam "OpenFileDialog" i onda standardno:
if (ofdSelectPicture.ShowDialog() == DialogResult.OK
{
picShowPicture.Image = Image.FromFile(ofdSelectPicture.FileName);
}

ofdSelectPicture je ime mog OpenFileDIaloga, i picShowPicture je ime mog PictureBox-a
 
Па ја не знам, мислим не схватам шта питаш :(
Једино што са кодом који си поставио неваља јесте то што недостаје затворена заграда код if.
Ево ја сам мало нешто преправио оно тако да корисник бира слику..
Kod:
		private void MenjajBoju()
		{
			Bitmap pic1; // = new Bitmap("C:\\NekaSlika.jpg");
			//ucitaj sliku preko OpenFileDialoga
			OpenFileDialog ofd = new OpenFileDialog();
			//ti podesi svojstva za ofd...
			
			//uzmi selektovanu sliku
			if( ofd.ShowDialog() == DialogResult.OK)
			pic1 = new Bitmap( ofd.FileName);
			
			//ovo ostaje isto
			for( int y = 0; y < pic1.Height; ++y) 
				for( int x = 0; x < pic1.Width; ++x) 
				{
					Color boja = pic1.GetPixel(x,y);
					if( boja.B == 0 && boja.R == 0 && boja.G == 0) //crna boja
					{
						pic1.SetPixel( x, y, Color.Green);
					}
					/* i tako dalje za svaku boju.... */
				}
				
			//promeni sliku nekoj PictureBox kontroli
			picFrm.BackgroundImage = pic1;
		}
 
toxi hvala ti sto se trudis, ali svaki put kada startujem debugging javi 2 greske i to:
Error 1 'System.Windows.Forms.PictureBox' does not contain a definition for 'GetPixel'
Error 2 'System.Windows.Forms.PictureBox' does not contain a definition for 'SetPixel'
 
e toxi kad te vec smaram znas neku knjigu c# gde se objasnjava rad sa slikama i ovi fazoni sto meni trebaju a da je po mogucnosti na srpskom, ali pomogla bi i neka na engleskom ali konkretno ovo sa slikama!!!pozzzz
 
Nida:
e toxi kad te vec smaram znas neku knjigu c# gde se objasnjava rad sa slikama i ovi fazoni sto meni trebaju a da je po mogucnosti na srpskom, ali pomogla bi i neka na engleskom ali konkretno ovo sa slikama!!!pozzzz

Imas dobru stvar : " Windows forms programing in C# " na rapidshare a za link malo googlovanja :)))
 
@Nida
иди на http://www.codeproject.com/ и наћи ћеш нека објашњења. ;)
Проблем који си навео се јавља зато што користиш PIctureBox а не Bitmap... Направиш Bitmap-у и у њу учиташ неку слику са компјутера и све потребне промене одрадиш над том Bitmap-ом. Тек на крају функције додај ту Bitmap-у да буде слика/позадина неке PictureBox контроле. Јави јел си успео...
 
izvinjavam se sto se kasnim imao sam neke obaveze.Rijesio sam problem ali malo drugacije nego ovde sto si ti prestavio ali u svakom slucaju hvala ti jer i ovo je pomoglo.Ima malo vise linija koda, ali ne mari.Bitno je da radi i mocno izgleda.Pozdrav
 
iskopah i ovo da ne otvaram novu temu...

moj problem je konkretno u dataGrid-u
kad hocu da obojim ono sto kliknem, zasto ne mogu da koristim bool i pitam lepo ako je kliknuto itd. ... ?
kaze ne moze da konvertuje iz bool u [] ?
 

Back
Top