问题标签 [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.

0 投票
1 回答
153 浏览

matlab - 如何从文本文件制作地图并将其背景设置为matlab中的国家/地区

我想从包含三列的文本文件中制作颜色图(第一是纬度,第二是经度,第三是温度)。我已访问此代码,该代码从文本文件(1-1000.text)读取和创建颜色图

我有巴基斯坦的 shapefile(我的数据是巴基斯坦的),我想在巴基斯坦显示这个颜色地图的变化。但是不知道如何设置颜色图的背景。对于我所需要的地图的这篇帖子输出,我附上了摇晃。请帮助解决我的问题,并提前感谢 M.Usman Saleem 的这种帮助

这个数据

&这是图片(这里的形状文件没有上传,为什么我在这里分享图片) 在此处输入图像描述

&我想要的是下面显示的地图之一 在此处输入图像描述

0 投票
2 回答
643 浏览

java - 使用二维数组在 Java 中栅格化三角形

我正在用 Java 创建一个 3D 渲染器,但是在尝试使用纯色填充渲染多边形时遇到了问题。它工作得很好,但它经常撕裂,但我不确定是因为算法效率低下还是因为它只是在顶点处撕裂。这是一张图片:

例子

线框: 在此处输入图像描述 您可以看到它撕裂的多边形的顶点或点附近。我将像素的颜色存储在二维数组中,然后循环遍历并渲染它们。即使我使多边形非常小,它仍然会流泪,所以我认为这不是性能问题。我使用 Bresham 算法并将像素存储在一个二维数组中,然后在多边形中我得到像素并将它们变成一个大数组,我在 y 上循环,然后在 x 上循环,直到我碰到一个像素。将其设置为 beginLine,然后将最后一个设置为 endLine。然后我在这些点之间画一条线。

所以基本上我的问题是:这个算法效率低下,如果是这样,什么是更好的方法?为什么它只在顶点附近撕裂?

0 投票
0 回答
287 浏览

c# - 在二维网格上用颜色填充矩形

在这篇文章Efficient Polygon Fill Algorithm With C之后,我在 2d 网格上用颜色实现了矩形填充,但它给了我一些错误的结果,见下面的截图:

截图

源代码:

0 投票
0 回答
73 浏览

performance - 将已知形状的 2D 多边形快速光栅化和着色为图像文件

所有多边形的形状和位置都是预先知道的。多边形不重叠,并且具有不同的颜色和形状,并且可能有很多。多边形在基于浮点的坐标中定义,并将作为注释绘制在 JPEG 照片的顶部。

在知道应该为每个多边形赋予哪种颜色后,如何尽快创建结果图像文件?

如果它可以节省时间,我想预先执行尽可能多的计算。所有关于多边形的几何形状和位置的信息都是预先知道的。JPEG照片也是预先知道的。事先不知道的唯一信息是每个多边形的颜色。

JPEG 照片的大小为 250x250 像素,因此这也是生成的光栅化图像的图像大小。

计算将在配备标准显卡的 Linux 计算机上完成,因此 OpenGL 可能是一个可行的选择。我知道还有像Cairo这样的光栅化库可以用来绘制多边形。我想知道的是我是否可以利用我提前知道这么多输入的事实并使用它来加快计算速度。唯一缺少的是每个多边形的颜色。

最好我想找到一种解决方案,它只会以数据文件的形式预先计算事物。换句话说,一旦多边形颜色已知,算法就会从数据文件(JPEG 文件、多边形几何文件和/或可能预先计算的数据文件)中加载其他信息。当然,在 GPU/CPU/RAM 中准备好“温暖”状态开始计算会更快,但我想避免这种情况。编程语言的选择不是那么重要,但可以是 C++。

提供更多背景信息:在 Web 浏览器中运行的 JavaScript 库OpenSeadragon从 Web 服务器请求图像块。这个想法是测量点(即多边形)可以通过网络服务器即时绘制到预生成的缩放图像(DZI 格式)上。因此,对于一个图像块,算法只需要运行一次。目标是低延迟。

0 投票
1 回答
990 浏览

ghostscript - Ghostscript:在保持纵横比的同时设置像素宽度,EPS到PNG

我通读了使用文档,但找不到任何方法来输出 X 像素宽的图像,其高度由纵横比决定。我有大量需要光栅化的 EPS 文件,它们至少需要 2400 像素宽。我目前的解决方法是使用-r标志设置通常足够高的分辨率,但这会使许多图像比我需要的要大得多。

我目前正在使用这个命令:

我已经尝试过 , , , , 和 的不同组合和设置-g-dDEVICEWIDTH但是-dDEVICEHEIGHT-dFIXEDMEDIA无法-dFIXEDRESOLUTION弄清楚-dFitPage

我有一种感觉,可能需要某种数学来简单地设置正确的值,-r从而产生所需的尺寸,但我不确定如何去做。任何帮助表示赞赏!

0 投票
1 回答
50 浏览

math - 有没有办法在光栅化时避免除以0?

我正在做一个项目,我必须计算给定世界点的屏幕坐标

我阅读了一些材料并将此任务组织为四个子任务:

  1. 世界点与我的相机的逆 TRS 矩阵相乘,以接收相机坐标中的点
  2. 相机坐标中的点与投影矩阵相乘以接收裁剪坐标中的点。投影矩阵如下所示

    /li>
  3. 将裁剪坐标中的点乘以1 /w以接收ndc 中的点
  4. ndc转换为屏幕坐标

这工作正常,但我遇到了一些奇怪的结果和错误。事实证明,如果相机坐标中点的 z 值为 0,则裁剪坐标中点的 w 值变为0。这导致在步骤 3 中除以 0。

我是否忽略了什么或者这是正常的?有没有办法计算相机z轴上点的屏幕位置,或者我应该检查是否(z == 0)并返回屏幕的中间?

0 投票
1 回答
461 浏览

javascript - Paper.js 栅格化图层失败

我正在使用 Paper.js 在图像上绘图、添加文本等。然后我需要在图像上绘制所有草图并将其全部发送回服务器。具体来说,我在路径光栅化方面遇到了麻烦。我正在尝试使用

但是当我在图像上这样做时,我没有让线条光栅化。我最终得到

而不是以“data:image/png;base64”为前缀的 base64 编码图像。这是我在其中工作的 Paper.js草图。要使用它,请在小猫周围单击几下以绘制几条线。一旦你有两条线,应该会打开一个新窗口,显示带有你绘制的红线的光栅化图像。

它适用于草图,但不适用于我自己的代码。

这是我管理绘图的 React 类:

这是进行光栅化的代码:

所以光栅化适用于添加PointTexts,但不适用于路径。为什么是这样?与草图相比,我的代码有什么问题?

0 投票
1 回答
223 浏览

svg - 如何在没有锯齿线的情况下将 SVG 转换为 PNG?

当您查看 SVG https://commons.wikimedia.org/wiki/File:Triangle-perpendicular.svg的渲染版本时,它有锯齿状的线条:

在此处输入图像描述

例如,线 AC 看起来不像它应该的样子。如何将此图像转换为 PNG 而不会出现锯齿状线条?

我试过的

这似乎没有任何效果。

0 投票
1 回答
439 浏览

math - 我该如何处理椭圆中点算法的方程

我的问题是我如何以及使用什么数学来操纵椭圆方程以形成中点算法并尝试制作椭圆。我得到了代码,但不理解构成在屏幕上绘制椭圆的基础的数学。我想知道有经验的人能告诉我数学步骤,比如从两边减去一些东西。我不想要求解 y 并绘制前半部分的多项式方法,然后再通过另一遍来绘制后半部分。我了解该方法的大部分内容是在寻找操纵方程式所涉及的数学。更多地沿着寻找操纵方程式的数学步骤,然后我可以使用这些步骤来形成算法。

0 投票
0 回答
570 浏览

graphics - 栅格化 3D 线

我正在尝试找到一种用于 3D 线段光栅化的算法。Bresenham 的算法似乎几乎是我想要的,但它不计算任何 Z 值。

有谁知道是否有办法扩展 Bresenham 的算法或不同的算法?