问题标签 [graphics2d]

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

java - Java2D:填充凸圆角多边形(QuadCurves)

如果我有这样的 QuadCurve(+= 节点):

我用Java 2D填充它,结果是这样的:(x=有色)

但我想给另一面上色:

这通过在曲线周围绘制一个矩形来成功,我想为另一侧着色,然后用背景颜色填充曲线。

但这不足以填充凸圆形(基于 QuadCurves)多边形。如果矩形的某些坐标(如我使用的技巧中所述)与多边形的其他部分重叠。这是两张图片(绿色区域是我的多边形):

替代文字 http://img204.imageshack.us/img204/7823/convexpolygon.png 替代文字 http://img708.imageshack.us/img708/3669/convexpolygon2.png

所以,问题很简单:“如何为曲线的形状构建着色?”
但我认为答案并不简单......

非常感谢任何建议。
提前致谢。

如果我没有得到答案,也许我会为这个问题悬赏

0 投票
1 回答
455 浏览

java - 这是不好的做法吗?多个 Graphics2D 对象

我创建了一个包含所有图形的 JPanel 画布;即JLabel。要使动画精灵工作,您必须覆盖扩展 JLabel 类的paintComponent。我已经以这种方式成功实现了动画精灵。

拥有一个 Graphics2D 画布然后在自己的 Graphics2D 中有多个“图像”是不好的做法吗?

0 投票
4 回答
9325 浏览

java - Java - 填充自定义形状

我创建了一个自定义形状,本质上它是四个 Arc2D 对象的集合。

当这些弧线被绘制出来时,它们形成了一个可以被认为是四点圆形星形,有点像三叶草。一条弧线结束的地方,另一条弧线开始。它们在中心形成一个正方形。所以想象一下,取一个正方形,在每一边画半个圆圈。

我可以将此形状绘制到 Graphics2D 对象,但是当我填充它时,它只会填充弧线而不是中心正方形。填充这个内部方块是我的问题。

我已经实现了getPathIterator()下面的方法。我也实现了这些contains()方法。但它仍然只会填充弧线。

我试图添加一个Rectangle. 填充形状时,矩形/正方形会被正确填充,但是它也会绘制矩形,这显然应该是预期的,但绝对不是预期的结果。

那么,有人对如何“填充”这样的形状有任何想法吗?

0 投票
4 回答
2984 浏览

java - 使用 JUnit 测试图形生成

我正在使用 Java 的 Graphics2D 来生成图形的图形表示。我也在使用 ImageIO 来编写 PNG 文件。( ImageIO.write(image, "png", out);)

我想知道我应该如何编写 JUnit 测试来测试生成的图形是否符合预期。我可以预先生成 PNG 文件,但是如果字体在不同的机器上有点不同怎么办?

0 投票
1 回答
1142 浏览

java - 填充两个 CubicCurve2D.Float 和一条线内的区域

我正在用户界面中绘制一个选项卡。我有我想要的大纲。如何填充该区域?

这是绘制选项卡边框的代码:

这是它画的线(红色的):图片

我希望能够填充红线的内部。

0 投票
1 回答
346 浏览

java - 如何在 Java 中不耗尽内存的情况下编写图像?

这个问题的完整代码)。

尽管我已将 jvm 属性设置为 3GB,但此代码会导致 Java 堆空间异常。这可能是问题吗?

无论如何不能用更少的内存来绘制图像吗?我正在使用 A4 尺寸的 BMP 进行打印,只有文本。大多数时候它只是黑白的,而有时我也需要使用蓝色、粉色和灰色。

0 投票
5 回答
2970 浏览

java - 装饰 JFreeChart

我想在角落里用时间戳装饰我生成的所有 JFreeCharts。在生成图表后,JFreeChart 框架中有没有办法在图像上绘制?

编辑:请注意,这些图表是在后台线程中生成并通过 servlet 分发的,因此没有 GUI,我不能只在单独的组件上显示时间戳。

0 投票
1 回答
4982 浏览

java - 使用 Java2D 绘制 3D 房子?

如何使用 Java2D 绘制一个简单的 3D 房子?我想画房子的侧壁,让它看起来像一个简单的 3D 绘图。

// House.java

//ShowHouse.java

0 投票
1 回答
2622 浏览

java - TYPE_4BYTE_ABGR 到 TYPE_3BYTE_BGR 的转换

我有一个具有透明度的 TYPE_4BYTE_ABGR imageType 的 BufferedImage,我想将其转换为 TYPE_3BYTE_BGR BufferedImage。我试图在 TYPE_3BYTE_BGR 之一上绘制 TYPE_4BYTE_ABGR 图像,但它改变了颜色。

目的是将透明图像放在白色背景上,因为如果只是将 TYPE_4BYTE_AGBR 图像写入 .jpg,他会得到黑色 ob 透明区域。

0 投票
4 回答
12703 浏览

java - 如何将一张图像的一部分复制到另一张图像?

我想将一个图像的一部分复制到另一个较小的图像中:换句话说,复制一个子矩形。

我有一个用于源的Graphics2D对象,我可以为目标制作一个对象,并且我知道targetGraphics2D.drawImage(Image img,....),但是如何从sourceGraphics2D获取该img


答案(按 aioobe):源需要是Image而不是Graphics2D

Image.subImage()是获取源相关部分的方法。