问题标签 [pixel-perfect]

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 投票
2 回答
22703 浏览

opengl - Opengl像素完美2D绘图

我正在研究二维引擎。它已经工作得很好,但我不断收到像素错误。

例如,我的窗口是 960x540 像素,我画了一条从 (0, 0) 到 (959, 0) 的线。我希望扫描线 0 上的每个像素都将设置为一种颜色,但不是:最右边的像素没有被绘制。当我垂直绘制到像素 539 时,同样的问题。我真的需要绘制到 (960, 0) 或 (0, 540) 来绘制它。

由于我出生在像素时代,我坚信这不是正确的结果。当我的屏幕为 320x200 像素大时,我可以从 0 到 319 以及从 0 到 199 进行绘制,我的屏幕将是满的。现在我最终得到了一个未绘制右/下像素的屏幕。

这可能是由于不同的原因:我期望opengl线原语从一个像素绘制到一个包含像素的像素,最后一个像素实际上是独占的?是这样吗?我的投影矩阵不正确?我有一个错误的假设,即当我有一个 960x540 的后备缓冲区时,实际上还有一个像素?还有什么?

有人可以帮帮我吗?我一直在研究这个问题很长时间,每次我认为没问题的时候,我发现它实际上不是。

这是我的一些代码,我试图尽可能地精简它。当我调用我的 line-function 时,每个坐标都添加了 0.375、0.375 以使其在 ATI 和 nvidia 适配器上都正确。

0 投票
1 回答
485 浏览

html - 带有嵌入字体的 Pixel Perfect HTML to PDF?

我已经把头撞到墙上了一段时间......我可以用 Flash + Fpdf 做到这一点(参见http://santaspencil.com/desktop)。

但是,由于 Flash 在移动平台上没有得到很好的支持,我觉得我需要迁移到其他东西(HTML5?)。我发现的唯一问题是,我无法在网页中嵌入字体以准确查看它们在 PDF 中呈现时的效果……除非我使用 Flash。

这可以做到吗?... 嵌入字体可以与 HTML5 一起使用,以呈现像素完美的 PDF 吗?

0 投票
1 回答
2193 浏览

c# - 精灵表动画上的像素完美碰撞,XNA

我在 XNA 中使用 spritesheet 动画,我想使用像素完美碰撞。我的问题是像素完美碰撞检查精灵表上的当前像素是否透明,而不是检查我正在使用的精灵表部分。这是我的代码:

我想知道如何选择 spritesheet 的特定部分并检查与它的碰撞。我使用了这个 MSDN 指南

编辑:我设法弄明白了,我用这个代替

和框架是你启动它,例如0第一个和87第二个,因为我使用带有 2 张2*87宽度和100高度的图片的精灵表。

Edit2:现在的问题是,一旦你点击 pixelperfect 就会停止工作,所以它只适用于 1 次点击。

0 投票
1 回答
1859 浏览

python - pygame:像素与线条完美碰撞?

我有一两个问题。我正在使用 Pygame 创建绘图游戏。

我们有球在一个表面上在内部弹跳,彼此和墙壁相撞。使用鼠标,您可以绘制直线,球反弹也反弹。

球是使用 pygame.image 绘制的,因为我们有一个 ball.png 覆盖球的表面和矩形。但是对于线条,我们只是使用 pygame.draw.line() 返回简单的矩形。

而我目前最大的问题:

我选择在自己的 Surface 对象上绘制每条线,然后将它们粘贴到更大的“游戏画布”上。这是因为我想使用此处提供的像素完美碰撞检测以及 surfarray.array_colorkey(),为此我需要一个底层 Surface(球具有 pygame.image 返回的图像 Surface)。我想要线条的 Surface 以便我可以使用碰撞算法的透明度方面,否则球会从包裹线条的 Rects 上反弹。

Q1) 有没有更好的画线方法?我想使用类似于图像或雪碧的东西。有这样的事吗?

Q2)如果不是,我应该如何为每条线创建 Surface,以便使用“游戏画布”中的坐标将线绘制到较小的 Surface 上相对容易,线不会被切断并且上述像素完美碰撞有效?

Q3)如果我完全关闭/有更好的方法来进行碰撞、检测、绘图等。拜托,我全神贯注。

0 投票
1 回答
573 浏览

alignment - Photoshop 将像素完美对齐到毫米

您好,从下图中您会看到一些相距 1 毫米的参考线,但我绘制的像素线未对齐,也无法将它们与毫米对齐。使用锚点工具移动线条会导致它们失去坚固性并渗入其他像素。有谁知道让像素与毫米对齐?

可能只是我想念的东西

示例图片 http://img401.imageshack.us/img401/51/ruleo.jpg

0 投票
1 回答
598 浏览

android - Android上旋转位图的碰撞检测

我的 Android 游戏需要像素完美的碰撞检测。我编写了一些代码来检测与“正常”位图(未旋转)的碰撞;工作正常。但是,我不明白旋转位图。不幸的是,Java 没有旋转矩形的类,所以我自己实现了一个。它保存四个角相对于屏幕的位置,并描述其位图的确切位置/图层;称为“项目表面”。我解决检测的计划是:

  1. 检测不同 itemSurfaces 的交集
  2. 计算重叠面积
  3. 相对于其上级 itemSurface/bitmap 设置这些区域
  4. 将每个单个像素与另一个位图的相应像素进行比较

嗯,第一个和第二个都有问题。有人有想法或有一些代码吗?也许 Java/Android 库中已经有代码,但我只是没有找到它。

0 投票
3 回答
3026 浏览

actionscript-3 - AS3像素完美绘图?

当我使用时:

我得到了我想要的黑线,但我也得到了在它们旁边漂浮的灰色像素。有没有办法关闭任何平滑/抗锯齿添加模糊像素?

0 投票
1 回答
262 浏览

html - IE6/IE7输入提交框模型困境

我今天在创建一个通用按钮类来设置从 div 到输入的所有内容时遇到了一些奇怪的错误。似乎大多数浏览器在输入 [type=submit] 时使用不同的框模型。

大多数现代浏览器(ie9+、ff、chrome 等)对所有输入都使用内容框框模型,如果我没记错的话,提交除外,它使用边框框。

基本上,如果我将高度设置为 100,填充设置为 10,则除提交之外的所有输入的高度将为 120,而提交的高度为 100。

使用 box-sizing 及其浏览器前缀可以轻松解决此问题。但我的问题是 IE6/7 做同样的事情但不支持 box-sizing ...

所以现在我所有的输入都显示全高,除了提交被切成两半。除了条件注释之外,我还有哪些选项可以强制内容框或其他修复?

0 投票
1 回答
489 浏览

css - 显示时 Chrome 不是像素完美的:块

正如您在 [this][1] fiddle 中看到的,在悬停时,悬停状态a总是比 ul 高一个像素。(您可以在小提琴中看到这一点:它甚至超出了 的边界ul)这只发生在 Chrome 中(也在 FF en IE10 中测试过,但他们没有这个问题)。有什么解决办法吗?

注意:overflow: hidden不是解决方案,因为我希望溢出对其他内容(子菜单等)可见。

0 投票
1 回答
746 浏览

xaml - Windows Phone 8 设备上的像素对齐

我正在尝试在 WP8 设备(Lumia 920)上显示一个简单的全屏位图。

它有 1280x768 的屏幕,使用ScaleFactor 160 和 800x480 的虚拟分辨率。

这是显示黑白棋盘位图的结果(它是模糊的):

而且,很明显,UseLayoutRounding在任何地方都是真实的。

那么,嗯,是否可以在高分辨率 Windows Phone 8 设备上对位图进行像素对齐

更新:检查 800x480 模拟器(带有 800x480 图像) - 非常清晰。1280x768 模拟器 - 模糊,与设备上相同:/

此外,打开具有棋盘背景的网页(注意:1280x768 图像)viewport width=device-width会导致相同的模糊图像。这是否意味着除了使用 Direct3D 之外,无法在 Lumia 上获得清晰的全屏图像?

XAML:

放大片段:

在此处输入图像描述