问题标签 [rasterizing]
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.
python - 尝试使用 Python 或 ImageMagick 提取字体
我有一个项目,它将中文文本转换为位图以进行远程 LCD 显示。因为它在服务器中运行,所以首选命令行工具。
我正在尝试使用 Python/PIL 和 ImageMagick 来实现这样的系统。ImageMagick 用于在 Python/PIL 将文本转换为用于远程显示的特殊数据包格式之前从文本生成位图。
从 IM 网站阅读 IM6 示例后:
我发现抗锯齿在这个过程中会造成麻烦。例如,它适用于以下命令:
C:\ImageMagick-6.6.6-6\convert -background lightblue -fill blue -pointsize 48 -font "SimSun-&-NSimSun" label:@chinese_words.utf8 label_utf8_simsun.gif
生成的图像 新手不允许发布图像。
它看起来很棒,因为它具有高分辨率的抗锯齿功能。LCD 只有黑白,没有消除锯齿,而且必须是低分辨率,例如 12x12 像素。我尝试了以下脚本。
C:\ImageMagick-6.5.6-Q16\convert -pointsize 16 -font "SimSun-&-NSimSun" +antialias -strokewidth 0.4 -threshold 50%% label:@chinese_words.utf8 label_utf8_simsun_16_bw_strokewid1.gif
结果看起来很糟糕,并且缺少位图像素。
生成图片新手不允许发布图片。
有谁知道如何使用适用于 LCD 的 Python/ImageMagick 提取 truetype 字体(无抗锯齿、双色、小尺寸/低分辨率)?
提前感谢您的帮助!
opengl - OpenGL像素精确光栅化不同的拱门
对于我正在开发的应用程序,我需要能够
- 绘制不同宽度和颜色的线条
- 绘制纯色填充三角形
- 绘制纹理(无 alpha)四边形
很简单……但是……
所有坐标在像素空间中都是整数,并且非常重要:glReading 从两台不同机器上的帧缓冲区中的所有像素,使用两个不同的显卡,运行两个不同的操作系统(Linux 和 freebsd),必须产生完全相同的位序列(给定适当的常量格式转换)。
我认为使用 opengl 和硬件加速不可能安全地实现这一点,因为我敢打赌,不同的显卡(来自不同的供应商)可能会实现不同的光栅化算法。(OpenGl 规范对此很清楚,因为他们提出了一种算法,但他们也声明在某些情况下实现可能会有所不同)。此外,我真的不需要硬件加速,因为我将渲染非常低速和简单的图形。
你认为我可以通过禁用硬件加速来实现这一点吗?在 linux 下会发生什么情况,我会默认使用 MESA 软件光栅化器吗?在那种情况下,我能确定它总是有效还是我遗漏了什么?
actionscript-3 - 如何在 Actionscript 3 中真正光栅化文本?
Actionscript Bitmap(或 BitmapData)很奇怪。不仅它的 cacheAsBitmap 默认为 false,而且 BitmapData 似乎不仅仅是一个位图!
我发现,动画文本行 alpha 会让它们闪烁。我尝试以多种方式解决它,其中之一是将带有背景的文本绘制到位图并为位图设置动画:
它应该做的是在“图层底部”和“图层顶部”文本之间平滑过渡(好吧,如果您更改 FPS)。它的作用很奇怪,至少在我的机器上,清楚地表明位图中的文本没有被视为位图,但仍被视为矢量(可能是 TextLine)。那么 BitmapData 是否仅模拟位图?它是一个错误吗?我错过了什么吗?
c++ - 用于将 SVG 转换为栅格的 C/C 库。
有谁知道一些免费或非免费的库,用于将 svg 转换为光栅图像(最好是 png)。
我看到有 ImageMagic、GraphicMagic、librsvg。但我无法弄清楚如何使用它们或适合我的问题。我需要从我的代码中以编程方式进行转换。
rendering - 重心坐标纹理映射
我想用正确的视角映射纹理以进行 3D 渲染。我正在使用重心坐标来定位三角形面上的点。简单的仿射变换给了我那个标准的、奇怪的结果。这是我为纠正我的观点所做的,但它似乎只会使失真更大:
三个三角形顶点 v1 v2 v3
顶点坐标为 v_.x v_.y v_.z
纹理坐标是 v_.u v_.v
顶点对应的重心坐标为 b1 b2 b3
我正在尝试获取正确的纹理坐标 U 和 V
z=b1/v1.z + b2/v2.z + b3/v3.z
U=(b1*v1.u/v1.z + b2*v2.u/v2.z + b3*v3.u/v3.z) / z
V=(b1*v1.v/v1.z + b2*v2.v/v2.z + b3*v3.v/v3.z) / z
这应该工作不应该吗?为什么这不起作用?
编辑:此页面上的响应看起来很有用,但我不确定 w 坐标是什么。也许有人可以解释一下,这也可能解决我的问题。http://www.gamedev.net/topic/593669-perspective-correct-barycentric-coordinates/
注意:我的标签一开始都是错的。现在已经解决了。
matlab - 在 MATLAB/Octave 中矢量化三角形扫描线
我是 Octave/MATLAB 的新手。我想为一个三角形矢量化一个简单的扫描线填充。这是我要消除的 while 循环:
c++ - glPolygonMode(GL_FRONT_AND_BACK, GL_LINES) 不工作
我正在尝试以正常填充模式渲染图元,然后作为线框。
渲染代码:
显示列表创建代码:
glColor3c 宏:
我期望得到一个周围有黑色框架的青色平面,但所发生的只是我第二次渲染显示列表时,它只是填充和绘制整个东西,覆盖另一个基元的像素。我最终得到了我想要绘制的平面,但它只是黑色(我为“版本”行指定的颜色)。
任何其他可能有用的信息是我在带有 MSVC++ 2010 的 Windows 7 上使用 SDL。我没有对 glEnable 进行任何调用,所以我没有启用会搞砸的奇怪设置,或者,也许可以解决问题. 我唯一的 OpenGL 设置代码设置投影和模型视图矩阵,然后创建显示列表。
显然我的问题是为什么我第二次绘制显示列表是填充图元而不是创建线条?我该如何解决?
java - 线光栅化 / 4-connected Bresenham
对于碰撞测试,我需要光栅一条线。bresenham 算法几乎可以按预期工作,但存在如下缺陷:
我需要:
我当前的实现(基于http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm#Simplification):
有没有我可以使用的其他线光栅化算法,或者有人知道如何修改 bresenham?
geometry - 三角光栅化问题
我正在尝试编写几个函数来绘制(填充)平顶和平底三角形。它们在很大程度上起作用,但有时在共享一侧的相邻三角形之间仍会出现裂缝。我使用插值技术逐行光栅化三角形,在每一步计算新的左右限制。其中大部分在代码中进行了解释,但这里是一般的想法(对于平底):
1)找到dy(高度)
2)从顶点到每个底部点找到dy/dx(斜率)
3) 移动到起始行( floor(top point) ),并找到初始 x-start 和 x-end 坐标
4)移动到下一行,计算新的开始和结束限制......
我应该注意,裂缝只出现在侧面连接的三角形之间,而不是顶部/底部连接处。我已经在这很长时间了,我不知道该尝试什么了。我认为逻辑是可靠的,也许任何裂缝都是由于浮点错误造成的。我真的很感激一些反馈。