//px char*
char* px2 = new char[size];
for (int j=1;j<Info.bmHeight-1;j++)
for (int i=1; i<Info.bmWidth-1;i++)
{
int k1 = Info.bmWidthBytes * j + 4 * i;
int k2 = Info.bmWidthBytes * (j+1) + 4 * i;
int k3 = Info.bmWidthBytes * (j-1) + 4 * i;
int k4 = Info.bmWidthBytes * j + 4 * (i+1);
int k5 = Info.bmWidthBytes * (j+1) + 4 * (i+1);
int k6 = Info.bmWidthBytes * (j-1) + 4 * (i+1);
int k7 = Info.bmWidthBytes * j + 4 * (i-1);
int k8 = Info.bmWidthBytes * (j+1) + 4 * (i-1);
int k9 = Info.bmWidthBytes * (j-1) + 4 * (i-1);
px2[k1+0]=(int)(px[k1+0]+px[k2+0]+px[k3+0]+px[k4+0]+px[k5+0]+px[k6+0]+px[k7+0]+px[k8+0]+px[k9+0])/9.0; //b
px2[k1+1]=(int)(px[k1+1]+px[k2+1]+px[k3+1]+px[k4+1]+px[k5+1]+px[k6+1]+px[k7+1]+px[k8+1]+px[k9+1])/9.0; //g
px2[k1+2]=(int)(px[k1+2]+px[k2+2]+px[k3+2]+px[k4+2]+px[k5+2]+px[k6+2]+px[k7+2]+px[k8+2]+px[k9+2])/9.0; //r

}
delete px;
px = px2;
这里我用GetBitmap(&Info)和GetBitmaps得到像素数据,然后简单的9个相加求平均,但出来的效果好像不是那样,图像把某些边缘增强,求解为什么会这样,怎样做才正确??T T谢谢了~