如何删除位图中的像素?

时间:2010-06-26 04:14:17

标签: c++

我降低了位图的分辨率。我在网站上找到了一个方法如下

平均所有周围像素的值,将该值存储在选择的像素位置,然后删除所有周围的像素。因此,4 * 6矩阵变为4 x 3矩阵。

我正在通过此代码访问像素

for(int y = 0; y < bmp.bmHeight; y++)   
  {      
      for(int x = 0; x < bmp.bmWidth; x++)     
      {         
          COLORREF rgb = dc.GetPixel(x, y);     
          BYTE r = GetRValue(rgb);       
          BYTE g = GetGValue(rgb);     
          BYTE b = GetBValue(rgb);            
          dc.SetPixel(x, y, RGB(r,g,b));      
      }   
  } 

告诉我如何删除像素?

1 个答案:

答案 0 :(得分:4)

你无法真正删除像素,位图是像素矩阵。相反,您应该创建一个预期大小的新位图,并将像素复制到该位图中。