Ako by sa dalo pristupovat k pixelom BMP aby to bolo "poriadne" rychle. Toto je dost pomale:
unsafe Bitmap NastavCervenou(Bitmap b)
{
// Uzamkne v paměti data bitmapy tak, aby s nimi bylo možno pracovat.
BitmapData bd = b.LockBits(new Rectangle(0,0,b.Width,b.Height),
ImageLockMode.ReadWrite,
PixelFormat.Format32bppArgb);
for (int y = 0; y< b.Height; y++)
{
// Vytvoří ukazatel na začátek y-té řádky bitmapy
int* ukzt = (int*)((int)bd.Scan0 + y * bd.Stride);
for (int x = 0; x <b.Width; x++)
{
// Vybere barvu pixelu
Color c = Color.FromArgb(*ukzt);
Color cervenyOdstin = Color.FromArgb(c.R,0,0);
// Nastaví barvu pixelu
*ukzt = cervenyOdstin.ToArgb();
// Posune ukazatel na x-tý pixel v dané řádce
ukzt++;
}
}
b.UnlockBits(bd);
return b;
}
Napr. taky Scanline v Delphi,C++ Builderi bol rychloste podstatne lepsie natom ake dany kod v C#.
Fórum › .NET
Rychly pristup k pixelom BMP
Tak můžeš jít cestou WinAPI funkcí, jako třeba zde http://programujte.com/?akce=diskuze&kam=vlakno&tema=14929-bitmapa. A na získání a nastavení pixelu použít GetPixel a SetPixel.
To liborb : Myslim ze to nieje potrebne pretoze hento taktiez pristupuje priamo k pixelom ibaze by to bolo treba upravit tak aby pristupovalo k nim na urovni Byte pre kazdy zlozu RGB samostatne podobne ako u Scanline u VCL kniznice. Len ten kod neviem nejak tak upravit...
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žení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 36 hostů
Podobná vlákna
"Rychlý přístup k aplikacím" na ploše — založil W3ScD0n3
Rychlý přesun souborů? — založil soudruh
Rychly programek na kontakty — založil Sally
Chcem rýchly internet! — založil Gajdošík Tomáš
Moderátoři diskuze