Hirdetés
- Huawei P8 Lite - nem visszafogott jellem
- Samsung Galaxy A54 - türelemjáték
- Azonnali mobilos kérdések órája
- Magisk
- iPhone topik
- Sony WF-C510 - beérett a folytatás
- Bemutatkozott a Poco F2 Pro (már megint)
- Samsung Galaxy S23 Ultra - non plus ultra
- MIUI / HyperOS topik
- Motorola Edge 50 Neo - az egyensúly gyengesége
Új hozzászólás Aktív témák
-
kingabo
őstag
Tehát nincs...
Igaz csak bitmap-re, de ennél gyorsabb módot nem ismerek: c-s tömbként megyünk végig a képen:
Bitmap Picture1 = new Bitmap(width, height);
BitmapData Picture1Data = Picture1.LockBits(
new System.Drawing.Rectangle(0, 0, Picture1.Width, Picture1.Height)
, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
unsafe
{
int Remain1 = Picture1Data.Stride - Picture1Data.Width * 3;
byte* PtrP1 = (byte*)Picture1Data.Scan0;
for (int j = 0; j < height; ++j)
{
for (int i = 0; i < width; ++i)
{
PtrP1[2] = Layers[R, i, j];
PtrP1[1] = Layers[G, i, j];
PtrP1[0] = Layers[B, i, j];
PtrP1 += 3;
}
PtrP1 += Remain1;
}
}
Picture1.UnlockBits(Picture1Data);
Persze ehhez a projektben engedélyezni kell az unsafe használatát. A fenti kód egy 3 dimes tömböt pakol át a képbe. Hirtelen jobb pl-t nem találtam.(#1975) hunfatal: ez is bitről bitre hasonlít össze, szal ugyanott vagy.
[ Szerkesztve ]
Ú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!
Állásajánlatok
Cég: Ozeki Kft
Város: Debrecen
Cég: Ozeki Kft
Város: Debrecen