VB.NET, WinForms
24. 8. 2011 18:15
Petr Doleček
40 169
Mám v pictureboxu načtenej obrázek. Na obrázku je několik bílých a šedých míst (vím přednou barevnost). Existuje jednoduchý způsob, jak tyto místa přebarvit.
Zkoušel jsem číst jednotlivé pixely a při nalezení bílé barvy vykreslit tento pixel červeně, ale nějak se mi nedaří.
24. 8. 2011 18:44
Ondřej Linhart
-553 3274
1) Projít všechny pixely obrázku a barvu nalézt+nahradit pomocí GetPixel+SetPixel. Extrémě pomalé.
2) Použít mnohonásobně rychlejší, ale složitější manipulaci s obrázkem pomocí ukazatelů:
http://www.codeproject.com/KB/GDI-plus/c...
Místo operací s ukazateli se ve VB používá Marshal:
http://www.bobpowell.net/lockingbits.htm
24. 8. 2011 18:56
anonym
92.62.224.12
Bitmap ZmenBarvu(Bitmap obr, int x, int y, Color barva) { obr.SetPixel(x, y, barva); return obr; }
A použití:
Bitmap img = pictureBox1.Image;
A do nějaky udalosti dej:
ZmenBarvu(img, 0,0);
Ty nuly nahrad souradnicema...
Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování. Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.
zapomenuté heslo
zaregistrujte se
Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?
Nahlásit Zrušit
zavřít