问题标签 [subpixel]

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 回答
3514 浏览

truetype - 如何将 OTF 转换为 TTF,以便打开子像素渲染(抗锯齿)?

好的。根据@fontface,OpenType PS 在 Windows 平台上转换和使用时没有亚像素渲染。Crap Factor = 9. 我的问题是,既然将 OpenType PS 转换为 OpenType TT 是件很麻烦的事,那么亚像素渲染会发生什么?我试过使用一些在线转换器,看到零差异:字体看起来像垃圾。

所以问题是我如何将 OpenType PS 文件转换为 OpenType TT 文件,同时进行亚像素渲染?

因为一旦我有了 OpenType TT 文件,我就可以轻松进入 EOT。

谢谢!

写!

0 投票
10 回答
16783 浏览

iphone - 你能在 Retina 显示器上设置 0.5px 的边框吗?

在 iPhone 4 或 iPhone4S 上的 Mobile Safari 上,是否可以设置 0.5px 宽的 div 边框?

0 投票
4 回答
8969 浏览

java - 使用 Graphics2D 使用亚像素级精度绘制图像

我目前正尝试像在视频游戏中一样以固定速率在屏幕上绘制图像。

不幸的是,由于图像移动的速率,一些帧是相同的,因为图像还没有移动一个完整的像素。

有没有办法为floatGraphics2D 提供值以在屏幕上绘制图像,而不是int值?

最初这是我所做的:

这当然是阈值,因此图片不会在像素之间移动,而是从一个跳到下一个。

下一个方法是将油漆颜色设置为纹理并在指定位置绘制。不幸的是,这产生了不正确的结果,显示了平铺而不是正确的抗锯齿。

我应该怎么做才能在Java中实现图像亚像素渲染的预期效果?

0 投票
1 回答
2321 浏览

sift - SIFT 泰勒展开计算子像素位置

我正在尝试实现 SIFT,目前只是想在开始在 MATLAB 中实现它之前了解它是如何工作的,除了如何使用泰勒展开计算亚像素精度之外,我了解其中的大部分内容:

在此处输入图像描述

以上是原始论文中的方程式。我有几个关于它是如何应用的问题。

是否在每个维度上分别计算导数,然后将方程应用于 x 和 y?

一阶和二阶导数是否也沿 sigma 轴应用?

我已经厌倦了查看以前的实现,但无法找到他们这样做的地方。提前致谢

0 投票
2 回答
9745 浏览

javascript - 修复 CSS 流体网格中的子像素舍入问题

我正在尝试创建一个流畅的 CSS 网格,它适用于 Firefox 和 IE8+,但不适用于 Safari/Chrome/Opera,其中亚像素舍入问题变得可见:

http://jsfiddle.net/bJKQ6/2/

主容器的宽度为 100%,如果您在 Safari/Chrome/Opera 中更改浏览器大小,您可以看到圆角宽度不一致。

在广泛阅读该问题后,我了解到亚像素舍入“没有正确或错误的解决方案”,但 Firefox 方式对我来说似乎是最好的折衷方案。(例如,如果我将 4 个 div 设置为 25% 的宽度,我希望覆盖区域为 100%。)

我想知道是否有我错过的纯 CSS 解决方案,或者一些 JavaScript 来解决问题。

谢谢!

更新:截至 2014 年 5 月,Chrome 33 和 Safari 7 似乎采用了“Firefox 方式”。

0 投票
1 回答
184 浏览

linux - linux中网络摄像头的亚像素库

是否有任何库可以在亚像素模式下在 linux 上使用网络摄像头?我需要快速的帧速率,而且我没有时间压缩为 jpeg(而且 jpeg 是有损的 - 我需要从传感器获得的所有信息)。我猜压缩是在网络摄像头固件内部发生的,所以它可以在亚像素级别工作吗?

我说的是特定的网络摄像头 - a4tech PK-635K。这里是http://a4tech.com/product.asp?cid=77&scid=89&id=233

编辑:如您所见,我不需要网络摄像头来拍摄普通视频。我只需要尽可能快地捕获来自 cmos 传感器的信息。例如,我只想从红色像素中获取信息。

0 投票
3 回答
4684 浏览

vector-graphics - 图形的RGB亚像素渲染?

我想知道是否有任何图形库支持通用图形的 RGB 亚像素渲染(如 ClearType),而不仅仅是文本。这将允许将水平分辨率提高三倍,并将图形放在第三个像素的 x 位置上。

虽然我认为这将非常有用,但我在互联网上找不到太多关于它的信息,除了以下内容:

例如,是否有任何图书馆实现了这一点,或者是否有努力将这样的东西带到开罗图书馆?


更新:

我特别指的是考虑到当前 LCD 屏幕使用不同颜色的子像素的渲染技术。要制作白点,请将所有子像素设置为 'on' 或 255。白线将是多个子像素相互叠加:

(其中.是全黑子像素,RGB全亮红色、绿色或蓝色子像素)。因为我们的眼睛无法分辨子像素,所以它们混合在一起形成一条白线。但是,我也可以从以下内容中划出一条白线:

请注意,它非常清晰,但位于 x = 1 1/3 像素处。这对于绘制略微模糊的白线的传统渲染技术是不可能的。这里例如R=70% 点亮,r=30% 点亮。我没有计算出数学,这只是为了让你明白:

另一个示例是斜率,您可以 a) 使用全像素,b) 抗锯齿,或 c) 使用子像素渲染:

同样,请注意,这只是一个粗略的示例,可以为您提供一般概念,但您会看到 a) 锯齿或锯齿,b) 模糊,c) 与 LCD 上的清晰度一样高。

字体显示的实际实现(Windows 上的 ClearType 和 FreeType 中的子像素渲染)具有更复杂的算法。它们考虑到各个子像素会相互渗透或发光,它们保留了总的颜色强度或能量。他们还考虑到子像素间距不均匀(R和G之间的间距,或者G和B(像素中)的间距可能小于B和R之间的间距),最后一些显示器具有完全不同的像素布局。

0 投票
1 回答
1192 浏览

java - 有没有办法在 Swing 中以亚像素精度绘制线条?

这个问题以前有人问过,但答案并没有解决问题,所以我再问一次。

有人建议g2.drawLine您可以使用g2.draw(line), where lineis a来代替使用Line2D.Double. 但是,正如您从屏幕截图中看到的那样,线条仍然绘制成好像它们以整数像素结束(每组 10 条线完全平行)。

非平行线

那么在 Swing 中是否不可能正确渲染不完全在像素上结束的线条?

0 投票
1 回答
1568 浏览

google-chrome - 使用 WebGL + Google Chrome 的亚像素动画?

当我慢慢平移一个三角形时,它会逐个像素地移动。有什么办法可以强制谷歌浏览器使用抗锯齿平滑移动?

对于示例检查:

https://dl.dropbox.com/u/4571/musicope2/index.html

PS:我想知道这个答案是否也适用于 webgl 以及答案是否仍然有效?:

Chrome Canvas 中的亚像素渲染

0 投票
2 回答
1199 浏览

javascript - 如何修复或解决 iPhone 上的子像素处理问题?

设置: 我正在使用 jQuery Mobile 为 iOS 和 Android 开发一个 PhoneGap/Cordova 应用程序。该应用程序需要一个我自己创建的日历,因为详尽搜索插件并没有产生任何满足我所有需求的结果。我正在使用七个 div - 一个用于一周中的每一天 - 它们都是float:left'd 并且每个都设置为width:14.28571428571429%因为这是 100% 的 1/7。我应该提到日历 div 容器设置为width: 100%. Chrome 开发者工具还确认容器 (id="calendar") 正在使用 100% 的宽度空间。

问题:在桌面上一切看起来和工作都很好,但是一旦我开始在我的 iPhone 或 iPad 上进行测试,日历右侧会出现一小部分(大约 2%)。

支持细节:我对此进行了相当多的研究,似乎这是由于亚像素渲染造成的。我在 WikiPedia 上阅读了关于 Subpixel Rendering 的内容,发现这篇两年前的文章是关于不同浏览器处理小部分像素的方式的。在我看来,移动 Safari 中的 0.28[…]% 被砍掉了。 问题是,我不知道如何解决它。 更让我困惑的是,这似乎是一个webkit问题,但日历在桌面 Chrome 中呈现得很好。

代码: