问题描述
privatevoidbutton3_Click(objectsender,EventArgse){Colorc=newColor();Colorcc=newColor();Bitmapbox1=newBitmap(pictureBox1.Image);Bitmapbox2=newBitmap(200,200,System.Drawing.Imaging.PixelFormat.Format24bppRgb);intrr,r1,g1,b1,i1,j1,k1,k2,dm,m;int[]dt=newint[20];for(inti=1;i<pictureBox1.Width-1;i++){for(intj=1;j<pictureBox1.Height-1;j++){rr=0;m=0;for(k1=-1;k1<=1;k1++){for(k2=-1;k2<=1;k2++){c=box1.GetPixel(i+k1,j+k2);r1=c.R;g1=c.G;b1=c.B;dt[m]=r1;m=m+1;}}for(i1=m-1;i1>=1;i1+=-1){for(j1=1;j1<i1;j1+=1){if(dt[j1-1]>dt[j1]){dm=dt[j1];dt[j1]=dt[j1-1];dt[j1-1]=dm;}}}rr=dt[(int)(m/2)];Colorc1=Color.FromArgb(rr,rr,rr);box2.SetPixel(i,j,c1);}pictureBox2.Refresh();pictureBox2.Image=box2;}运行过程中在c=box1.GetPixel(i+k1,j+k2);r1=c.R;g1=c.G;b1=c.B;dt[m]=r1;这里提示参数必须为正且小于高度,加载的原图宽高为150,50,修改box2的数值也没有用,哪位大神能指点一下?
解决方案
解决方案二:
i<pictureBox1.Image.Width-1...
解决方案三:
因为原图高度和pictureBox1控件的高度本来就没有什么必然联系参考1楼的代码,先获取pictureBox1里面的图片对象,再获取图片对象的高度
解决方案四:
额。。。我一直盯着屏幕盯了两个小时都没看到。。太感谢了!