问题标签 [graphicscontext]

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 浏览

objective-c - 在 NSBitmapImageRep 上绘图期间更改颜色

我实现了一个返回 NSBitmapImageRep 的方法。应该在该位图上绘制 10x2 矩形,并且每个矩形都应该用青色填充。但对于每个矩形,青色值应增加 12(值从 0 开始)。

结果位图得到 20 个矩形,如预期的那样。但是矩形之间的颜色没有区别。所有矩形都具有相同的青色值。

我不知道有什么问题。有人可以给我一个提示吗?

对于每个矩形,使用相同的颜色值,它是在两个循环都通过后设置的最后一个青色值。

0 投票
1 回答
5085 浏览

javafx - JavaFx 自定义网格绘制问题

我正在使用下面的代码在 JavaFX 画布上绘制垂直线。不知何故,最后一行(最后 10%)的不透明度较低。我没有更改任何选项(对 gc 的转换/影响)。我附上截图供参考,有什么想法吗?

在此处输入图像描述

0 投票
2 回答
6040 浏览

path - JavaFX:如何在 GraphicsContext 上绘制路径?

GraphicsContextJavaFX 在 a和高级Path节点上提供了低级路径绘制方法。

我想将形状存储在类中并将它们绘制在GraphicsContext. 这Path门课对我来说似乎很方便。我知道,它旨在用作场景图中的节点,但它包含我需要的所有绘图元素。

我正在寻找一种方法, GraphicsContext.fillPath(Path) 但没有。

我是否必须手动迭代Path元素并将它们转换为低级GraphicsContext方法,或者我错过了什么?

0 投票
2 回答
2479 浏览

javafx - 在 javafx Canvas/GraphicsContext 中用透明颜色覆盖路径

我想知道 JavaFX 中 Canvas 的 GraphicsContext 中是否有任何方法可以覆盖路径中的所有像素,从而使它们再次变得透明。与 clearRect 函数类似,但适用于任何路径。

我查看了不同的 BlendModes 和 Effects,但似乎没有办法真正覆盖可以通过例如实现的 alpha 值

  • 使用 Porter/Duff Src 运算符渲染透明颜色
  • 在 HTML5 中使用 globalCompositeOperation 目的地输出呈现非透明颜色

如果有人知道一种无需细分路径并使用多个 clearRect 调用即可实现此目的的方法,我将非常高兴。谢谢你。

http://docs.oracle.com/javase/8/javafx/api/javafx/scene/canvas/GraphicsContext.html


对第一条评论的补充:我没有使用 Path 节点,而是使用 Canvas 节点使用 GraphicsContext 执行渲染,因此无法修改先前渲染路径的颜色。我正在尝试做类似的事情

稍后我想将路径中的像素重置为透明

但是,当应用混合时,这不起作用。在其他渲染库中,可以使用例如上述混合/合成方法之一来实现这一点,但直到现在我无法在 javafx 中识别出这样的功能。

0 投票
1 回答
285 浏览

canvas - 有谁知道在 JavaFX Canvas 图形上下文中是否可以进行光栅操作?

这似乎是一个可怕的疏忽。事实上,如果没有解决方案,我就无法继续开发。我知道可以在屏幕外绘制并传输图像,但我在画布上有一个我真的无法影响的背景。

感谢您的任何建议。

0 投票
1 回答
6747 浏览

canvas - JavaFX:如何使用 GraphicsContext 方法 appendSVGPath(String svgpath)

我正在开发一个使用 SVG 的项目。目前,该程序将 SVG 作为 SVGPath 对象存储在 FXML 文件中。然后将该文件加载到一个组中,然后将其添加到屏幕上。在 FXML 文件中,大约有 300 个这样的 SVGPath。我相信这最终意味着场景图上有 300 个节点。

我最终将不得不扩大 SVGPath 的数量,并且担心在场景中放置更多节点,因此我开始考虑使用 Cavas/GraphicsContext 来代替。

GraphicsContext 有一个方法 appendSVGPath(String svgpath),我想我可以用它在 cavas 上绘制我的 SVG,但我没有任何运气让它们出现。

我使用 Oracle 的 CanvasTest.java 文件作为起点: http ://docs.oracle.com/javafx/2/canvas/jfxpub-canvas.htm

我修改了文件以包含以下方法:

但我无法让形状出现在画布上。

完整的测试代码在这里:

如果我从一开始就取消注释 SVG 部分,只需将 svg 添加到 root,就会显示 svg。

有没有人使用 appendSVGPath 取得任何成功?

0 投票
1 回答
1848 浏览

javafx - 如何将颜色选择器值转换为 web 或 rgb 或任何颜色类兼容类型?

我在 javaFX 中的颜色选择器返回类似0x000000ff. 如何将其转换为网页颜色,rgb 或 hex?

0 投票
0 回答
19 浏览

eclipse - Eclipse 插件:gc 对象更改时 gc.getCharWidth 给出不同的大小

我在画布上使用 gc.setText() 方法显示文本。但是如果 gc 对象发生变化,那么文本的宽度也会发生变化。

我正在使用 gc.setFont(font) 将相同的字体应用于 GC。

当 gc 的对象发生变化时,它会返回不同的字符宽度。

谁能帮我解决这个问题。

谢谢伊山耆那教

0 投票
1 回答
645 浏览

javafx - 在 JavaFX 中使用 GraphicsContext 在画布上绘制条形图?

我正在使用随机数据在 JavaFX 中创建条形图,并且我有一个带有指定画布的 fxml 文件,我想在该画布上绘制条形图。

我可以创建条形图,但是如果我有(例如)一个 BarChart 类型的 barChart 对象并且画布有 fx:id “canvas”,那么让我使用 GraphicsContext 绘制条形图的方法或代码是什么在画布上?我知道要获得 GraphicsContext 它将是 canvas.getGraphicsContext2D,但是一旦我有了那个 GraphicsContext 对象,我该怎么做才能在画布上绘制我的 barChart 对象?

0 投票
1 回答
257 浏览

rendering - 在 DirectX 12 上渲染多个模型错误

我试图仅使用一个图形上下文在 DirectX 12 上渲染多个模型,但结果非常奇怪,我不太清楚是什么原因。在此处输入图像描述sponza 模型从外部渲染结果,右边是正确的结果,左边是有问题的。

在此处输入图像描述从内部渲染左侧 sponza(有问题的)的结果。

即使加载的两个网格是相同的,每个模型都有自己的顶点缓冲区、索引缓冲区和 SRV。在创建图形上下文的过程中,只有一个图形上下文,并设置了每个模型的索引和顶点缓冲区,然后我调用drawIndexed()函数进行渲染。创建图形上下文后,我们每帧执行一次图形上下文。但是,如果我们为每个模型创建单独的图形上下文并每帧执行所有图形上下文,则渲染效果很好,但帧速率下降了很多。

提供有关导致奇怪结果的原因的任何提示将对您非常有帮助,或者提供更好的解决方案。非常感谢您。