- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一个颜色选择器组件,如 seminal article 中所述.
如您所见,我已经整理好基础知识:
然而,其中一个要求是能够让色轮旋转任意量。认为这很容易,我对鼠标位置 -> 颜色值代码进行了一些运算,并将以下代码用于实际绘制轮子的位:
newGraphics.TranslateTransform((float)this.Radius, (float)this.Radius);
newGraphics.RotateTransform((float)this.offset);
newGraphics.TranslateTransform((float)this.Radius * -1, (float)this.Radius * -1);
不幸的是,像这样旋转位图实际上会产生这样的结果:
注意出现在中心两侧的人工制品。
我是否使用了错误的方法?或者有没有办法摆脱这些讨厌的撕裂?
最佳答案
查看该 Microsoft 示例的源代码,我通过添加矩阵和设置 RotateAt
方法对 UpdateDisplay
方法进行了以下更改。
private void UpdateDisplay() {
// Update the gradients, and place the
// pointers correctly based on colors and
// brightness.
using (Brush selectedBrush = new SolidBrush(selectedColor)) {
using (Matrix m = new Matrix()) {
m.RotateAt(35f, centerPoint);
g.Transform = m;
// Draw the saved color wheel image.
g.DrawImage(colorImage, colorRectangle);
g.ResetTransform();
}
// Draw the "selected color" rectangle.
g.FillRectangle(selectedBrush, selectedColorRectangle);
// Draw the "brightness" rectangle.
DrawLinearGradient(fullColor);
// Draw the two pointers.
DrawColorPointer(colorPoint);
DrawBrightnessPointer(brightnessPoint);
}
}
它将滚轮旋转了 35 度(虽然颜色选择现在关闭了 35 度,因为我没有弄乱所有代码)并且没有产生任何撕裂。
不是 100% 确定这就是答案(但对于评论来说太长了),所以这可能会有所帮助。
关于c# - 我可以在没有这些工件的情况下使用 graphics.RotateTransform() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9117591/
最近,我一直在尝试清理我的openGl渲染。我已经有一段时间了,但是从来没有真正考虑过。这是一个屏幕截图: 经过一些研究,我一直无法弄清楚它到底出了什么问题。我在OSX上使用OpenGl,但在其他系统
我尝试使用 glDrawArray 和 GL_TRIANGLE_STRIP 渲染纹理网格,但绘制时存在伪影,但在屏幕上分布不均匀。 Screenshot of the problem. 这是我使用的代
尝试使用 Github 的 beta 操作,我有两项工作,一项负责构建代码,另一项负责部署代码。但是,我似乎无法在部署作业中获取构建工件。 我最新的尝试是为每个作业手动设置具有相同卷的容器镜像,根据文
我是 Azure DevOps(托管代理)新手,正在尝试使用 Azure Pipelines 通过 Ant 构建我的 Java Web 应用程序 下面是管道文件 trigger: - azure-pi
我最近重新配置了 TeamCity 构建配置,以利用分支功能将相同的构建配置应用于同一存储库中的多个分支。 现在,我正在尝试设置一个自动构建脚本,该脚本可以从 TeamCity 中提取最新的工件,但仅
我通过 FFMPEG 和 OpenMAX 使用硬件编码。 如果我使用 FFmpeg h264_omx 作为 VideoWriter 的后端,我会得到图像 like this .颜色显然有点混合。 其他
我有一个 iPhone 应用程序,它有一个基于 TableView 的数据输入屏幕,带有一个切换开关,打开时会显示表格另一部分中的所有行。 有时,当应用程序首次加载时,通常是当它从手机中完全删除时,除
我在每次构建结束时归档工件。我有 https://wiki.jenkins-ci.org/display/JENKINS/Archived+Artifact+Url+Viewer+PlugIn安装。
我在 vsreport 虚拟模式下使用 ListView ,有两列,在填充列表后,选择一行,然后选择其他行,之前选择的行上留下了一个工件,请参见下图。如何解决这个问题? 这是我从数组获取数据的代码 p
我有一个巨大的遗留 EAR 项目。当前的构建过程使用 Ant,我正在尝试转换为 gradle。 旧的 Ant 构建使用单个源文件夹,所有内容都在其中(EJB 和 WAR 代码一起);然后 Ant 使用
我们有一个 ivy 存储库,我们使用 gradle 进行依赖管理和构建框架。当一个工件被确定为生产就绪时,我们不想再次构建它,所以我们只想通过一个利用 Gradle 和工具 API 来完成大部分工作的
我有一个 gradle 构建,它必须将预构建的 jar 文件发布为工件。由于某种原因,它没有被拾取。这是重现它的简化版本: 文件夹内容: settings.gradle build.gradle so
是否有人编写过一个查询来同时监视所有 BizTalk 工件。 我的查询不起作用,而且我似乎无法完成它: 这是我的: select RL.Name AS rlName , ('Url:
我最近学习了如何使用 grailsApplication.addArtefact(java.lang.String artefactType, GrailsClass artefactGrailsCl
我想在 Bamboo 构建结束时运行内联脚本任务,以将一些工件复制到网络共享。请问如何在此脚本中引用工件输出目录? Windows 环境(如果这有影响的话)。 最佳答案 您需要configure Ar
我想要一个工件名称,例如game-1.0.%BuilNumber%.jar 其中 BuildNumber 是 teamcity 构建的编号。 我正在使用 gradle 来构建工件。使用该工具是否可行,
在 SBT 中,如果我有一个任务要生成包含一堆文件的 zip/jar/war,我会使用 Defaults.packageTaskSettings 方法来设置该任务。它看起来如下: object Bui
我一直在使用 TeamCity 来启动和运行 CI 环境。 我开始关注 Troy Hunt 的 'You're deploying wrong' ,这非常有用,但是我想将打包和部署分成 2 个单独的步
故事 我已经在 OpenGL 中编码大约一年了(在相同的硬件上),我最近才得到像上图中那样的工件。它们在短时间内(几分钟)连续运行我的程序后出现,并出现在任何地方:从写字板(见图片)到我的桌面和任务栏
我使用以下代码在代码中创建了一个 UITableView: // no xib tableView = new UITableView( new RectangleF(0,0, this.View.F
我是一名优秀的程序员,十分优秀!