问题标签 [visual-artifacts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
247 浏览

iphone - 什么会导致 iPhone 上的 UIPickerView 显示错误?

我正在继承 UITextField 以便能够将 UIPickerView 设置为 inputView。当我的文本字段成为第一响应者时,UIPickerView 会代替键盘出现。

问题是,在某些情况下(尤其是当我设置自定义组件宽度时),呈现的选择器会显示奇怪的显示伪影。见附图。

是什么导致了这个奇怪的显示错误?
在此处输入图像描述

0 投票
1 回答
573 浏览

android - SurfaceView 工件

我的 layout.xml 包含一个带有一些 TextView 和 Button 的 FrameLayout,我像 MediaController 一样使用它,它还包含一个 SurfaceView。在代码中,我创建了一个 MediaPlayer 并将 SurfaceView 的 SurfaceHolder 设置为 Display,如下所示:

这非常适合显示视频,但是当我尝试调用时:

overLayTextView 仍然可见。我试图检索 overLayTextView 的视图状态,并将其设置为 Gone。我认为 SurfaceView 直到感觉像(通常发生在 20 多秒后)才会更新其绘图状态。所以我的问题是我是否可以调用 SurfaceView 或 SurfaceHolder 来通知他们应该“重绘”他们的一些内容?(显然不是视频)。

0 投票
0 回答
174 浏览

google-chrome - 在 SVG 上(和顶部)移动 div 时,Chrome 中会出现垂直线

当悬停在 SVG 元素上时,我使用 qTip2 div 作为工具提示。在 Chrome 中,每当我移动鼠标并且工具提示跟随它时,SVG 上就会出现白色垂直线(在我的 qTip div 的左侧)。它们仅在工具提示消失时才会消失。

为什么会发生这种情况,这是可以解决的吗?

0 投票
1 回答
366 浏览

wpf - 使用 WPF 绘图时如何摆脱这些“尖峰”视觉伪影?

我目前正在为地图应用程序绘制一些图块(小方形图像)。

我正在使用 WPF 在这些图块上绘制形状。

我有一个地理空间坐标列表,这些坐标组成了绘制的多边形。

构成这些多边形的地理空间坐标被转换为像素坐标。

瓷砖是在不同的细节层次上创建的。

在大多数这些细节层次上,绘图都很好。但在某些级别,视觉伪影以尖峰或线条的形式出现。

这是一个示例,这些图像具有三个不同的细节级别,一个显示问题,两个显示问题没有发生的两侧。

此图像是最高细节级别,还可以:

好的图片

此图像处于中等细节级别,并显示了尖峰(85 号公路沿线的尖峰最容易发现):

坏形象

此图像的细节级别最低,还可以:

在此处输入图像描述

当多边形中的两条线彼此靠近和/或形成一个密集点(收敛)时,就会出现尖峰。

我们已经检查了源数据并且这些工件不存在(这也可以通过它在大多数时间正确呈现的事实得到证实)。

下一个怀疑是坐标转换过程,但我们再次检查了它,生成的点不应该以这种方式绘制。

这让 WPF 成为罪魁祸首,让我们陷入困境,因为我们不能像使用自己的代码那样简单地解决问题。

你们以前见过这种东西吗?

修复会很棒;)

目前看来,我们要么不得不忍受这个问题,要么改用 Direct2D。我们已经放弃了 GDI+ 渲染,因为它在一个进程中是单线程的。

0 投票
3 回答
998 浏览

java - 水平移动 JScrollPane 会导致文本模糊

我在标准 JPanel 内的 JScrollPane 内有一个 TextArea。

当我在一行中输入足够多的文本时,会出现水平旋钮 - 到目前为止还不错。但是当我开始左右移动旋钮时,文本变得模糊(见图)。有趣的是,当我上下移动 textarea 时,并没有发生什么奇怪的事情。

水平滚动时jscrollpane中的文本模糊

我使用带有 Unity 的 Ubuntu 12.04。这个图形工件以前从未出现在我面前。任何提示可能是什么问题?

0 投票
0 回答
616 浏览

google-chrome - SVG 动画在 Chrome 版本 23.0.1271.95 中留下条带伪影

在测试 SVG 动画时,我在 Chrome 版本 23.0.1271.95 中遇到了渲染问题。

动画三角形似乎留下了一些黑色的垂直条纹。如果您从页面上移开并返回,或者如果您以其他方式强制重绘,这种情况就会消失。

你可以在这里找到动画测试:http: //bit.ly/HexaGridTest

这是一个屏幕截图: 在此处输入图像描述

查看有关类似问题的其他帖子,似乎消除此与 GPU 加速相关的问题的唯一方法是在动画结束时强制重绘。

有人建议添加-webkit-backface-visibility: hidden到 SVG,但这并没有解决我的问题。

有没有其他选择?我可以设置任何标志或 CSS 属性来避免伪影吗?

0 投票
1 回答
1409 浏览

opengl - OpenGL 重复调用 glTexImage2D 和 alpha 混合

这更多是出于好奇而不是出于任何实际目的:OpenGL 规范中是否有任何内容表明glTexImage2D多次调用(例如,每帧一次)是非法的?我的意思是非法的,因为它可能会产生错误的结果,而不仅仅是效率低下(假设我不关心不使用glTexSubImage2D而不使用对性能的影响)。

我问的原因是,我在绘制重叠的纹理映射图元时注意到一些非常奇怪的伪影,这些图元使用部分透明的纹理,每帧加载一次glTexImage2D(见附图):几秒钟后(即,几百帧),屏幕上出现小的矩形黑色斑块(它们实际上在连续帧之间的黑色和正常之间翻转)。

神器

我在下面附上了我可以编写的最简单的示例代码,它显示了这个问题。

笔记:

  1. 我正在使用 SDL,但我在 wxWidgets 中看到了同样的情况,所以这不是 SDL 相关的问题。

  2. 如果我glTexSubImage2D对每一帧都使用(update = 1在 中使用createTexture),伪影就会消失。

  3. 如果我禁用混合,则不再有伪影。

  4. 我一直在 2010 年末的 MacBook Air 上对此进行测试,但我怀疑这是否特别相关。

0 投票
1 回答
1164 浏览

three.js - 如何在使用 ColladaLoader 加载的 Three.js 中的 dae 模型上避免莫尔条纹

我使用 Three.js 库从单个 dae/Collada 场景文件中加载和显示对象。该文件是使用 ColladaLoader(来自 Three.js 的示例代码)加载的,然后我使用该函数找到各个对象colladaScene.getChildByName('ObjectName', true);。这很好用,但渲染时会出现莫尔条纹。

由于任意加载的场景包含在 Blender 中编辑的复杂对象,我无法对对象或任何纹理做出任何假设。即我不能硬编码任何纹理或材料的特定更改/修复,因为我不知道期望什么纹理或材料。修复或调整必须是通用的,以便可以应用于具有多个纹理的不同对象。不能假定纹理尺寸符合 2 的幂,因为我们无法指导创建场景文件的人员。

问题:当使用 Web-GL 显示多个对象时,我在几个对象上遇到了非常糟糕的莫尔条纹问题。这些物品中有几个具有条纹纹理(深色木材和黑色)以及砖墙(不同颜色)。当以不同的角度和距离渲染时,这些条纹和砖块对象会出现严重的莫尔条纹伪影。这是一个条纹对象的示例。这是一个带有条纹纹理的盒子几何体。 http://imgur.com/a/vKsi3#0

是否可以更改纹理材质或纹理本身的设置以使莫尔伪影消失?我可以更改过滤器设置、着色器设置或创建 mipmap 纹理吗?由纹理尺寸引起的莫尔条纹是否不符合 2 次经验法则?加载 Collada 场景后,我们如何在 Javascript 中创建抗锯齿 mipmap?我们可以让 Blender 创建 mipmap 吗?我无法让 Blender 以 Collada 格式导出 mipmap。我已经在 Blender 中的对象纹理上检查/取消选中“自动 mipmap”,但无济于事。

请帮我。是过滤器、着色器还是 mipmap 的问题?有没有人有加载 Collada 场景的示例代码,然后遍历对象设置/更改对象以即使在“奇怪的角度和距离”下也能顺利渲染?

作为最后的手段,如果无法通过 Three.js 中的 Javascript 完成任何操作:有什么方法可以在 Blender 中打开场景并更改材质/纹理设置以使对象在导出到 Collada 文件时渲染得更好?

当我在加载到 Three.js 时显示条纹对象时,它看起来像(我已经包含了我什至远程想象对渲染有任何影响的所有内容):

0 投票
1 回答
966 浏览

java - PaintComponent 中带有 BorderFactory 的图形工件

我有一些我正在编写的拼字游戏代码(实际上是重写),到目前为止它分为 3 个类。当Tile该类被放入窗口时,它似乎正在生成一个 BorderFactory 工件。为什么会出现这个神器,我该如何消除它?

*如果您没有看到工件,请尝试慢慢调整窗口大小。

这是Scrabble课程。

这是Board课程。

Tile班级。

0 投票
2 回答
1510 浏览

android - Android动画留下工件

我的项目中的动画有一个相当奇怪的问题。在下面发布的屏幕截图中,您可以清楚地看到总计卡在动画上留下了某种痕迹。这个问题可以在运行 4.2.2 的 Nexus 7 上重现。Totals 卡片具有 Google Now 风格的动画。需要注意的是,Totals 卡的容器是一个 Fragment,横向屏幕截图左侧的 Menu 是一个不同的 Fragment,底部按钮是 Fragments 所附加到的 Activity 的一部分。

风景截图

人像截图

我似乎无法在网上找到解决方案,我尝试过 setFillAfter"true" 并偏移动画的开头。当按下其中一个按钮时,底部 Activity 按钮中的轨迹(“上一个”和“下一个”)会消失。

这是 Totals Fragment 的 onCreateView 中的代码:

任何帮助将非常感激!