Travel through pixels in BMP

后端 未结 7 1095
梦谈多话
梦谈多话 2020-11-30 02:32

\"enter

Hi i have a bmp loaded to a BMP object and im requir

7条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-30 02:58

    You can try something like this

    for(int y = 0; y < bmp.Height; y++)
    {
       var even = y % 2 == 0;
       var startX = even ? 0 : bmp.Width - 1;
       var endX = even ? bmp.Width : -1;
       var delta = even ? 1 : -1; 
    
       for(int x = startX; x != endX; x += delta)
       {
          var pixel = bmp.GetPixel(x,y);
       }
    }
    

    or you can split internal cycle to: left to right and right to left

    for(int y = 0; y < bmp.Height; y += 2)
        {
           for(int x = 0; x < bmp.Width; x++)
           {
              var pixel = bmp.GetPixel(x,y);
           }
    
           var line = y + 1;
    
           if(line < bmp.Height)
           {
             for(int x = bmp.Width; x >= 0; --x)
             {
               var pixel = bmp.GetPixel(x,line);
             }
           }
        }
    

提交回复
热议问题