永发信息网

C#怎么填充窗口上的一个像素点啊?

答案:2  悬赏:0  手机版
解决时间 2021-03-17 00:59
  • 提问者网友:兔牙战士
  • 2021-03-16 12:37
比如对窗口上的点(x,y),将其设置为红色,我试了用画半径为1或2的圆,但是效果不好,速度慢!有没有其他方法啊?
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-03-16 14:03
可以尝试填充
Graphics gra = this.CreateGraphics();
Brush bush = new SolidBrush(Color.Red);//填充的颜色
gra.FillEllipse(bush, 10, 10, 100,100);//画椭圆的方法,x坐标、y坐标、宽、高(直径)
全部回答
  • 1楼网友:鱼忧
  • 2021-03-16 14:37
/// /// 以黑白效果显示图像 /// /// /// public image blackwhite(image image) { // try { int height = image.height; int width = image.width; bitmap newbitmap = new bitmap(width, height); bitmap oldbitmap = (bitmap)image; color pixel; for (int x = 0; x < width; x++) for (int y = 0; y < height; y++) { pixel = oldbitmap.getpixel(x, y); int r, g, b, result = 0; r = pixel.r; g = pixel.g; b = pixel.b; //实例程序以加权平均值法产生黑白图像 int itype = 2; switch (itype) { case 0://平均值法 result = ((r + g + b) / 3); break; case 1://最大值法 result = r > g ? r : g; result = result > b ? result : b; break; case 2://加权平均值法 result = ((int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b)); //convert.toint32((double)(((0.3 * c.r) + (0.59 * c.g)) + (0.11 * c.b))); break; } newbitmap.setpixel(x, y, color.fromargb(result, result, result)); } return newbitmap; } catch (exception ex) { return image; } } 参考一下吧
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯