问题标签 [graphics]

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

c++ - 如何在 C++ 中获得 Mac OS X 中主显示器的分辨率?

我有一个图形应用程序需要测试它在 Mac OS X 中启动的显示器的分辨率,以确保它不大于分辨率。这是在窗口本身初始化之前完成的。

如果有多个显示器,则它需要是主显示器。这是硬件加速 (OpenGL) 应用程序将以全屏模式启动的显示器,通常是顶部有菜单栏的显示器。

在 Windows 中,我可以成功使用 GetSystemMetrics()。我怎样才能在 OS X 上做到这一点?

0 投票
3 回答
692 浏览

linux - 将颜色校准数据写入 TIFF 或 PNG 文件

我的自定义自制摄影处理软件,在 64 位 Linux/GNU 上运行,可以写出 PNG 和 TIFF 文件。这些将被送到高质量的印刷厂制作成精美的艺术品。与室内设计师合作 - 让颜色恰到好处很重要!

印刷店通常不会遇到由商业软件(如 Photoshop)制作的 TIFF 和 PNG。尽管我手头有 TIFF 6.0 规范、PNG 规范和其他信息,但不清楚如何在 linux 上包含颜色校准数据或实现颜色管理系统。我的文件经常因为错误而被拒绝,没有足够的错误报告来进行修复。

对于许多人来说,这一直是一个令人讨厌的问题。甚至我在好莱坞后期制作工作室的联系人也在为这个问题而苦苦挣扎。一个工作室甚至想聘请我来负责他们的色彩校准,以为我是专家 - 但不,我和每个人一样盲目和迷失!

有没有人知道好的代码示例,详细的技术资料,或者有什么其他的启示?或者是时候改用纯苹果了?

0 投票
9 回答
42388 浏览

java - Java 2D 绘图最佳性能

我正在编写 Java 2D 游戏。我正在使用内置的 Java 2D 绘图库,在我从 JFrame 中的 Canvas 的 BufferStrategy 获得的 Graphics2D 上绘图(有时是全屏的)。BufferStrategy 是双缓冲的。重绘是通过计时器主动完成的。不过,我遇到了一些性能问题,尤其是在 Linux 上。

Java2D 有很多方法可以创建图形缓冲区和绘制图形,我只是不知道自己是否做对了。我一直在尝试 graphics2d.getDeviceConfiguration().createCompatibleVolatileImage,它看起来很有希望,但我没有真正的证据证明如果我将绘图代码切换到它会更快。

根据您的经验,在 Java 1.5+ 中将 2D 图形渲染到屏幕上的最快方法是什么?请注意,该游戏非常领先,因此我不想切换到完全不同的绘图方法,例如 OpenGL 或游戏引擎。我基本上想知道如何以最快的方式使用 Graphics2D 对象将内容绘制到屏幕上。

0 投票
3 回答
9978 浏览

c# - 如何确定 GDI+ 中两条线的交点?

我正在使用 .NET 制作具有绘图表面的应用程序,类似于 Visio。UI 用 Graphics.DrawLine 连接屏幕上的两个对象。这个简单的实现效果很好,但是随着表面变得越来越复杂,我需要一种更健壮的方式来表示对象。这些强大的要求之一是确定两条线的交点,以便我可以通过某种图形指示分离。

所以我的问题是,任何人都可以提出一种方法来做到这一点吗?也许使用不同的技术(也许是 GraphViz)或算法?

0 投票
2 回答
4828 浏览

graphics - 多个像素的 alpha 混合公式是什么?

我有许多 RGBA 像素,每个像素都有一个 alpha 分量。

所以我有一个像素列表:(p0 p1 p2 p3 p4 ... pn)其中 p_0_ 是前面的像素, p_n_ 是最远的(在后面)。

最后一个(或任何)像素不一定是不透明的,因此生成的混合像素也可以是透明的。我从列表的开头到结尾进行混合,反之亦然(是的,它是光线追踪)。因此,如果结果在任何时候变得足够不透明,我可以以足够正确的结果停止。我将以这种方式应用混合算法: (((( p0 @ p1 ) @ p2 ) @ p3 ) ... )

谁能建议我一个正确的混合配方,不仅适用于 R、G 和 B,而且适用于 A 成分?

UPD:我想知道对于确定的混合颜色过程,我们怎么可能有很多公式?这是某种近似吗?对我来说,这看起来很疯狂:公式并没有太大的不同,以至于我们真正获得了效率或优化。任何人都可以澄清这一点吗?

0 投票
3 回答
1563 浏览

opengl - 渲染手绘人物的最佳方式

我想我会用一个例子来说明:在这个游戏中,您可以使用鼠标绘制 2D 形状,并且您所绘制的内容会实时呈现到屏幕上。我想知道使用硬件加速 (OpenGL) 渲染此类绘图的最佳方法是什么。我有两个想法:

  • 开始绘制时创建屏幕大小的纹理,绘制时更新此纹理,并将其粘贴到屏幕上
  • 创建一系列线段来表示图形,并使用线或细多边形来渲染它们

还有其他想法吗?这些方法中的哪一种可能是最好/最有效/最简单的?欢迎任何建议。

0 投票
3 回答
1249 浏览

java - 为 Java 中的 2D 仿真项目选择合适的工具包

我正在寻找一个工具包,它允许我为 Java 中的电梯模拟设计包含 2D 图形的小部件。一旦创建,这些小部件将与 SWT、Swing 或 QtJambi 框架集成。

背景资料:

我正在开发一个电梯模拟器以获得乐趣。我的主要目标是增加我对 Java、Eclipse IDE 以及更重要的并发性的了解。这当然很有趣,我很喜欢实现这个状态机模式

无论如何,我现在想在屏幕上看到电梯,而不是限制自己在控制台上记录它的操作。

我可能会为 UI 控件选择 SWT、Swing 或 QtJambi,但我想知道如何处理模拟的图形部分。

0 投票
7 回答
1024 浏览

silverlight - 重新学习图形编程的最佳地点在哪里

考虑到 Sliverlight,我想知道去哪里学习 3d 空间、变换、矩阵操作和所有这些好东西的好地方。

0 投票
6 回答
10681 浏览

graphics - 投影变换

给定两个图像缓冲区(假设它是一个大小为宽度 * 高度的整数数组,每个元素都有一个颜色值),我如何将一个由四边形定义的区域从一个图像缓冲区映射到另一个(始终为正方形)图像缓冲区?我被引导理解这被称为“投影变换”。

我也在寻找一种通用的(不是特定于语言或库的)方法,以便它可以合理地应用于任何语言,而不依赖于“为我完成所有工作的魔法函数 X”。

一个例子:我使用处理库 (processing.org) 用 Ja​​va 编写了一个简短的程序,该程序从相机捕获视频。在初始“校准”步骤中,捕获的视频直接输出到窗口中。然后用户点击四个点来定义将要转换的视频区域,然后在程序的后续操作期间映射到方形窗口。如果用户在摄像机输出中单击定义以某个角度可见的门角的四个点,则此转换将导致后续视频将转换后的门的图像映射到窗口的整个区域,尽管有点扭曲。

0 投票
5 回答
3193 浏览

javascript - 使用 John Resig 的 Processing.js 是否合理?

我正在考虑制作一个使用相当密集的 JavaScript/canvas 的网站,并且我一直在研究Processing.js,在我看来,它会使操作画布变得更加容易。有谁知道我不应该使用 Processing.js 的任何原因吗?我知道旧的浏览器将无法使用它,但现在没关系。