问题标签 [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.
truetype - 如何将 OTF 转换为 TTF,以便打开子像素渲染(抗锯齿)?
好的。根据@fontface,OpenType PS 在 Windows 平台上转换和使用时没有亚像素渲染。Crap Factor = 9. 我的问题是,既然将 OpenType PS 转换为 OpenType TT 是件很麻烦的事,那么亚像素渲染会发生什么?我试过使用一些在线转换器,看到零差异:字体看起来像垃圾。
所以问题是我如何将 OpenType PS 文件转换为 OpenType TT 文件,同时进行亚像素渲染?
因为一旦我有了 OpenType TT 文件,我就可以轻松进入 EOT。
谢谢!
写!
iphone - 你能在 Retina 显示器上设置 0.5px 的边框吗?
在 iPhone 4 或 iPhone4S 上的 Mobile Safari 上,是否可以设置 0.5px 宽的 div 边框?
java - 使用 Graphics2D 使用亚像素级精度绘制图像
我目前正尝试像在视频游戏中一样以固定速率在屏幕上绘制图像。
不幸的是,由于图像移动的速率,一些帧是相同的,因为图像还没有移动一个完整的像素。
有没有办法为float
Graphics2D 提供值以在屏幕上绘制图像,而不是int
值?
最初这是我所做的:
这当然是阈值,因此图片不会在像素之间移动,而是从一个跳到下一个。
下一个方法是将油漆颜色设置为纹理并在指定位置绘制。不幸的是,这产生了不正确的结果,显示了平铺而不是正确的抗锯齿。
我应该怎么做才能在Java中实现图像亚像素渲染的预期效果?
sift - SIFT 泰勒展开计算子像素位置
我正在尝试实现 SIFT,目前只是想在开始在 MATLAB 中实现它之前了解它是如何工作的,除了如何使用泰勒展开计算亚像素精度之外,我了解其中的大部分内容:
以上是原始论文中的方程式。我有几个关于它是如何应用的问题。
是否在每个维度上分别计算导数,然后将方程应用于 x 和 y?
一阶和二阶导数是否也沿 sigma 轴应用?
我已经厌倦了查看以前的实现,但无法找到他们这样做的地方。提前致谢
javascript - 修复 CSS 流体网格中的子像素舍入问题
我正在尝试创建一个流畅的 CSS 网格,它适用于 Firefox 和 IE8+,但不适用于 Safari/Chrome/Opera,其中亚像素舍入问题变得可见:
主容器的宽度为 100%,如果您在 Safari/Chrome/Opera 中更改浏览器大小,您可以看到圆角宽度不一致。
在广泛阅读该问题后,我了解到亚像素舍入“没有正确或错误的解决方案”,但 Firefox 方式对我来说似乎是最好的折衷方案。(例如,如果我将 4 个 div 设置为 25% 的宽度,我希望覆盖区域为 100%。)
我想知道是否有我错过的纯 CSS 解决方案,或者一些 JavaScript 来解决问题。
谢谢!
更新:截至 2014 年 5 月,Chrome 33 和 Safari 7 似乎采用了“Firefox 方式”。
linux - linux中网络摄像头的亚像素库
是否有任何库可以在亚像素模式下在 linux 上使用网络摄像头?我需要快速的帧速率,而且我没有时间压缩为 jpeg(而且 jpeg 是有损的 - 我需要从传感器获得的所有信息)。我猜压缩是在网络摄像头固件内部发生的,所以它可以在亚像素级别工作吗?
我说的是特定的网络摄像头 - a4tech PK-635K。这里是http://a4tech.com/product.asp?cid=77&scid=89&id=233
编辑:如您所见,我不需要网络摄像头来拍摄普通视频。我只需要尽可能快地捕获来自 cmos 传感器的信息。例如,我只想从红色像素中获取信息。
vector-graphics - 图形的RGB亚像素渲染?
我想知道是否有任何图形库支持通用图形的 RGB 亚像素渲染(如 ClearType),而不仅仅是文本。这将允许将水平分辨率提高三倍,并将图形放在第三个像素的 x 位置上。
虽然我认为这将非常有用,但我在互联网上找不到太多关于它的信息,除了以下内容:
- 亚像素字体渲染的工作原理(中间有一些线条图像)
- 亚像素渲染和图像大小调整(关于应用亚像素渲染来调整位图大小的一些有趣想法)
例如,是否有任何图书馆实现了这一点,或者是否有努力将这样的东西带到开罗图书馆?
更新:
我特别指的是考虑到当前 LCD 屏幕使用不同颜色的子像素的渲染技术。要制作白点,请将所有子像素设置为 'on' 或 255。白线将是多个子像素相互叠加:
(其中.
是全黑子像素,R
或G
是B
全亮红色、绿色或蓝色子像素)。因为我们的眼睛无法分辨子像素,所以它们混合在一起形成一条白线。但是,我也可以从以下内容中划出一条白线:
请注意,它非常清晰,但位于 x = 1 1/3 像素处。这对于绘制略微模糊的白线的传统渲染技术是不可能的。这里例如R
=70% 点亮,r
=30% 点亮。我没有计算出数学,这只是为了让你明白:
另一个示例是斜率,您可以 a) 使用全像素,b) 抗锯齿,或 c) 使用子像素渲染:
同样,请注意,这只是一个粗略的示例,可以为您提供一般概念,但您会看到 a) 锯齿或锯齿,b) 模糊,c) 与 LCD 上的清晰度一样高。
字体显示的实际实现(Windows 上的 ClearType 和 FreeType 中的子像素渲染)具有更复杂的算法。它们考虑到各个子像素会相互渗透或发光,它们保留了总的颜色强度或能量。他们还考虑到子像素间距不均匀(R和G之间的间距,或者G和B(像素中)的间距可能小于B和R之间的间距),最后一些显示器具有完全不同的像素布局。
java - 有没有办法在 Swing 中以亚像素精度绘制线条?
这个问题以前有人问过,但答案并没有解决问题,所以我再问一次。
有人建议g2.drawLine
您可以使用g2.draw(line)
, where line
is a来代替使用Line2D.Double
. 但是,正如您从屏幕截图中看到的那样,线条仍然绘制成好像它们以整数像素结束(每组 10 条线完全平行)。
那么在 Swing 中是否不可能正确渲染不完全在像素上结束的线条?
google-chrome - 使用 WebGL + Google Chrome 的亚像素动画?
当我慢慢平移一个三角形时,它会逐个像素地移动。有什么办法可以强制谷歌浏览器使用抗锯齿平滑移动?
对于示例检查:
https://dl.dropbox.com/u/4571/musicope2/index.html
PS:我想知道这个答案是否也适用于 webgl 以及答案是否仍然有效?:
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 中呈现得很好。
代码: