我正在执行seminal article中描述的颜色选择器组件。我可以在没有这些工件的情况下使用graphics.RotateTransform()吗?
正如你所看到的,我已经掌握了一些基本排序:
一个不过的要求,就是要有任意量旋转的色轮的能力。认为这是容易的,我的一些算术鼠标位置 - >色值代码和下面的代码位,实际上油漆轮:
newGraphics.TranslateTransform((float)this.Radius, (float)this.Radius);
newGraphics.RotateTransform((float)this.offset);
newGraphics.TranslateTransform((float)this.Radius * -1, (float)this.Radius * -1);
不幸的是,旋转这样的位图实际上产生这样的:
请注意出现在中心两侧的文物。
我使用了错误的方法吗?或者有没有办法摆脱这些讨厌的撕裂?
这是一些非常脏的撕裂。旋转轮本身的一种替代方法是将旋转量传递给填充圆上颜色的任何函数,然后相应地调整色轮而不需要进行变换。 – aardvarkk 2012-02-02 18:34:45
我无法重新创建您现在描述的问题。您可以尝试将Graphics.PixelOffsetMode设置为PixelOffsetMode.Half。让我知道它是否有帮助。 – 2012-02-02 19:35:08
@aardvarkk这听起来很有希望 - 我会看看其他选项。 – 2012-02-02 22:56:20