[Delphi] Многомерный массив

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Kandi, 11 Aug 2011.

  1. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Уважаемые, имеется многомерный массив:
    Code:
    Z : array [0..4, 0..79] of Integer;
    
    Нужно его забить поочерёдно, при этом всём вырезаем 5 изображений шириной 8х10:
    Code:
        for I:=0 to 4 do
          begin
            BmpVirez.FreeImage;
            BmpVirez.Canvas.CopyRect(Rect(0, 0, 8, 10), Bmp.Canvas, Rect(0, 0, 8, 10);
            Вот Здесь надо заполнить массив Z
          end;
    
    вот после этого и не могу догнать как лучше потому как надо еще пройтись по пикселям изображения, а их [0..79] и сравнить их с белым цветом, там где белый ставим 0 остальные 1:
    Code:
              for X:=0 to BmpVirez.Width-1 do
                for Y:=0 to BmpVirez.Height-1 do
                  begin
                    if BmpVirez.Canvas.Pixels[X, Y] = RGB(255, 255, 255) then
                      begin
                        Z[I][0] := 0;
                      end
                      else
                      begin
                        Z[I][0] := 1;
                      end;
    
    P.S. Прошу помощи. :rolleyes:
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    копай в сторону получения адреса буфера где хранятся данные картинки и работай с ним на прямую
     
  3. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Спасибо всем :) добавил просто одну переменную которая Inc() и вставил вместо нуля) тоже пашет имхо :rolleyes: