问题标签 [tiling]

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

python - 用 Python 编写平铺窗口管理器

我已经使用 Awesome Tiling 窗口管理器超过 6 个月了,对此我感到非常满意。

我想编写自己的 Tiling 窗口管理器作为周末项目和 hackfun。我注意到 Xmonad 和 dwm 非常小。我知道Qtile是一个 python 窗口管理器。

我不知道从哪里开始。我应该阅读并理解任何 Xorg 手册/api 吗?是否有任何用于窗口管理的 Python 库?请建议如何继续编写平铺窗口管理器。

如果您能分享任何类似的编写窗口管理器的经验,那就太好了。

0 投票
1 回答
13221 浏览

android - 使用 XML 中的 ImageView 在 android 中平铺图像

我试图让背景上的图像平铺,直到背景已满。

我目前的代码是:

然而,这只会使图像覆盖(不平铺)从下到上,而不是从左到右。我应该做什么?

编辑:尝试了 XML 版本:

main.xml 可以在与该 XML 文件相同的文件夹中找到 cartoonclouds,但找不到该 XML 文件。

0 投票
1 回答
263 浏览

c++ - 如何在屏幕空间中平铺纹理的一部分?

如果之前有人问过这个问题,请原谅我,我整天都在寻找这个问题的答案,而我想出的只是基于瓷砖的 2D 游戏的帮助。x~x

我正在尝试在 Direct3D 9 中创建一个可换肤的 GUI,使用一个 XML 文件,该文件具有每个元素的位置以及拉伸或平铺它们的选项。拉伸是一个足够简单的过程,但我一直无法找到一种方法来平铺纹理的一小部分。传统上平铺纹理我只需将 UV 坐标设置为 > 1.0,但源纹理坐标只会是整个纹理的一小部分,例如 0.4 到 0.5。

我有一种感觉我错过了一些非常明显的东西,但是我将如何简单地平铺而不是拉伸呢?我最好的猜测是它与拥有一组以上的纹理坐标有关,但从那里开始,我不知道该去哪里。

该项目目前使用固定功能管道,所以如果可能的话,我更喜欢使用它的答案,但如果这是唯一的方法,我不会拒绝使用着色器的答案。

0 投票
3 回答
2627 浏览

android - Android:绘制具有底部或其他类似于css背景位置的对齐方式的平铺位图

我想使用平铺位图设置视图的背景,但平铺需要锚定到左下角,而不是左上角(默认)。例如,如果瓷砖是下面的笑脸,我希望它像这样平铺:

在此处输入图像描述

使用 xml drawables 我可以实现平铺(使用tileMode="repeat")或底部定位(使用gravity="bottom"),但是将两者结合起来是不可能的,即使文档是这样说的:

安卓:平铺模式

关键词。定义平铺模式。启用平铺模式时,重复位图。启用平铺模式时忽略重力。

虽然它不受内部支持,但有没有办法实现这一点,也许使用自定义视图?

0 投票
1 回答
189 浏览

java - Java 形状共享边界

我正在编写一个生成彭罗斯平铺的程序,我想使用 Java 的 Graphics2D 类。我想知道是否有任何方法可以检查 2 个或更多形状是否彼此共享边界。我应该只比较斜率和基点还是有其他方法?

谢谢!

0 投票
0 回答
835 浏览

ios - 在 OpenGL 中绘制二维图块的最有效方法

我正在编写一个 2D iPad 应用程序,其中屏幕的主要部分将使用 16x16 像素图块填充,因此总共 3600 个。显示器不必特别顺利地更新(并且只在需要时更新),但我希望绘图尽可能高效以将电池使用量降至最低。

在 OpenGL 中执行此操作的最有效方法是什么?看到每个 16x16 瓷砖都有自己的纹理,我猜大三角形条或类似的东西是不可能的。我是否甚至需要担心效率,或者绘制约 10000 个无阴影三角形对于 GPU 来说是小菜一碟,我真的不需要担心?

0 投票
2 回答
3271 浏览

cross-browser - Three.js:平铺纹理、缓冲和浏览器兼容性

我正在使用 html 5 画布开发一个项目。为此,我使用 three.js 库以简单橱柜的形状绘制了一些简单的立方体。我已经添加了环境照明、抗锯齿和纹理。如果一切顺利,它会渲染橱柜,您可以使用鼠标移动它。

目前的问题:

  1. 纹理当前在每个表面上拉伸。我更喜欢平铺,但似乎无法让它工作。上面的代码是我根据我在网站上找到的内容得出的最佳猜测(抱歉,无法与我当前的声誉分享更多链接)。它被注释掉了,因为它完全停止了脚本的运行。

  2. 我曾经有一些滞后问题。快速搜索后,我找到了一个站点(抱歉,无法与我当前的声誉共享更多链接),它告诉我必须在主循环中设置一个超时,并且我应该使用第二个画布进行缓冲。添加超时就像一个魅力,但我仍然对缓冲画布很好奇。我不确定如何处理这个问题,因为我正在处理渲染器和画布。我什至不知道我是否还应该使用缓冲区,因为它现在似乎工作得很好,尽管将来当我尝试一次渲染更多网格时这可能会改变。

  3. 我的代码目前只为我在 Firefox 中运行。Chrome 和 Internet Explorer 都只是显示一个空白屏幕。有什么想法我需要改变才能解决这个问题吗?

  4. 当我在 Firefox 中运行代码时,橱柜起初完全是黑色的。当我(完全)移动它时,它会立即变为纹理。有任何想法吗?我可以想出一个肮脏的修复方法,在设置中将相机上下移动 1 个像素,但我宁愿不这样做。

我尝试将代码上传到jsfiddle(从 tinypic 导入纹理),但这并不顺利。当我使用外部图片时,要么我错误地导入了纹理,要么 jsfiddle 不喜欢它。但是,如果您下载纹理并将其放在与代码相同的文件夹中,您应该可以在 firefox 中打开它(仅适用于 firefox(参见问题 4))。因此,如果您想查看发生了什么:将代码复制到 .html 文件中并下载纹理。

谢谢参观!希望你能回答我的任何问题。

0 投票
2 回答
181 浏览

eclipse - 有没有办法只使用键盘在 Eclipse 中平铺编辑器?

在 Eclipse 中处理多个文件时,我通常将编辑器组织成图块。但是,有时我需要关闭所有打开的编辑器才能打开一组不同的文件。但是,当我打开新批次时,它默认将所有编辑器堆叠在一个图块中。我希望布局基本保持不变,或者通过快捷键进行更改。也许接近 AwesomeWM、ion3 等所做的。

谢谢。

0 投票
3 回答
1447 浏览

linux - 阻止 MPlayer 在 Awesome WM 中使用浮点数

我知道 MPlayer 调用了“configurerequest”,因此,它完全忽略了我在 Archlinux、AwesomeWM 中的窗口管理器的规则,它不是平铺的,而是浮动的。有没有办法阻止这种情况发生?谢谢!

0 投票
2 回答
8153 浏览

algorithm - 平铺不同大小的矩形

我正在寻找一些指向算法的指针,这些算法应该允许平铺不重叠不同大小的矩形。

给定一组不同大小的矩形,将它们平铺在大小为 H x W 的区域上,不重叠。目标是最大化使用的空间或相反 - 最小化间隙面积。如果没有足够的空间,继续第二个相同大小的区域,依此类推。

假设每个矩形的宽度和高度都小于平铺区域的相应尺寸。矩形不会旋转或以其他方式变换 - 即它们的边是水平的或垂直的。

我不是在寻找完成的代码,只是好奇什么方法/算法最适合用来解决这个问题。