Új hozzászólás Aktív témák

  • kingabo

    őstag

    Tehát nincs... :U
    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