我想使用Graphics.TranslateTransform
来偏移按钮的内容,但只偏移内容,而不是稍后绘制的任何内容,如焦点矩形。
protected override void DrawContent(ObjectInfoArgs e)
{
var isPressed = (e.State & ObjectState.Pressed) == ObjectState.Pressed;
if (isPressed) e.Graphics.TranslateTransform(2, 2);
base.DrawContent(e);
if (isPressed) e.Graphics.TranslateTransform(-2, -2);
//if (isPressed) e.Graphics.ResetTransform();
}
我没有在示例中创建e.Graphics,所以我不知道其他转换是否已经存在,我希望保留已经存在的任何转换。
仅仅“颠倒”我添加的内容是可以接受的吗?
发布于 2018-08-20 01:17:24
我想说它是可以接受的,只需要一个转换和这么小的代码块。
您还可以使用:
GraphicsState state = e.Graphics.Save();
...
e.Graphics.Restore(state);
https://stackoverflow.com/questions/51919997
复制相似问题