首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何临时使用Graphics.TranslateTransform

如何临时使用Graphics.TranslateTransform
EN

Stack Overflow用户
提问于 2018-08-20 01:09:05
回答 1查看 207关注 0票数 1

我想使用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,所以我不知道其他转换是否已经存在,我希望保留已经存在的任何转换。

仅仅“颠倒”我添加的内容是可以接受的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-20 01:17:24

我想说它是可以接受的,只需要一个转换和这么小的代码块。

您还可以使用:

GraphicsState state = e.Graphics.Save();
...
e.Graphics.Restore(state);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51919997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档