using (Graphics g = Graphics.FromImage(tempBmp))
{
Color[] colorList = ledDesignIns.getColorList(ledDesignIns.CurrentScreen.designSetting.colorType);
Color color = colorList[bdColor];
Pen myPen = new Pen(color, bdWidth);//bdWidth设置的不一样 然后就各种问题 比如宽度为1的效果就没有 宽度为3的效果好,所谓的效果就是尽量上线左右四条线一样宽 但实际确实不是一样宽的。
g.DrawRectangle(myPen, 0, 0, tempBmp.Width - 1, tempBmp.Height - 1);//此处参数不知为何必须-1 没道理啊 另外 Point1坐标也有问题,画出来的线条,上 左一致 右和下一致 但是 上左和下右不一致~ 搞不懂啊。是不是Graphics有什么参数需要用到啊
g.DrawImage(originalBmp, new Point(bdWidth, bdWidth));
}
tempBmp.Save("f://test0.bmp");
return tempBmp;
你这有神马问题吗,把问题说一下啊。
就是在图片周围画框 结果 上下左右线的粗细不一致的问题~ 请问如何解决。
你将g.DrawRectangle(myPen, 0, 0, tempBmp.Width - 10, tempBmp.Height - 10);这个里面减去的多见一点再试一试,看是否宽度不一致。或者就减去你画笔的宽度,再试一试
是这样的 ~ 主要是为了在图片边缘画 如果在图片中间画是没问题的~
在边缘画的话 可以看出来 线条粗细不一 放大后会很明显 当然不放大也可以看出来 不是由于加一点减一点就可以解决的 试了好多方法 都没用~
@子夜一梦: 那就是你减去的数据有问题了。先问个问题是不是上面和右边 的细一点,其他的两个粗一点?
如果是这样的话,就是你起始点有问题,应该 1.5,1.5
@小小刀: 前提是你的画笔的宽度是3
@小小刀:
Point怎样才能到(1.5,1.5)这一点呢? 像素点有0.5这么一说哇? 而且也不是上面和右面的细一点 而是 上和左细一些~。
@子夜一梦: 那就是对的了,应该是g.DrawRectangle(myPen, 2, 2, tempBmp.Width - 4, tempBmp.Height - 4);画笔宽度为4
我记得好像可以为小数的。很久没有搞gdi了
@小小刀: 还是不行哦~~ 就好像是放大后 像素像左上角偏移 然后就显得上和左的线条变细了~~ 不知道有没有哪个属性可以设置的~