graphics2d相关内容

在Graphics2D中将MouseListener与多边形组合

我尝试为我选择的数据类扩展Polygon(实现MouseListener).我在父级JPanel中的paintComponent替代项正在使用.fillPolygon渲染扩展的Polygon类(我称其为Hexagon)-它可以正常渲染! 但是它不允许我与它的代码中实现的MouseListener交互.我在某处缺少一个舞台吗? 四处寻找灵感,到达这里: https://docs.o ..
发布时间:2020-05-12 19:12:50 Java开发

通过2点画一条无限线?

我正在寻找一种通过2个点画一条无限线(无尽的线,也称为射线)的方法.我可以使用Line2D在2点之间画一条线,这里没有问题. 接下来,无限部分需要看一下.我想以简单的思路,将第二个点的x和y坐标乘以100,然后重画该线.这有效,但仅在简单情况下. 例如,在这种情况下,它会产生不同角度的线: g.setColor(Color.red); g2.setStroke(n ..
发布时间:2020-04-30 11:47:41 Java开发

使用Java图形API绘制图层

我正在做一个模拟器项目,该项目测试几种基于A *的算法,并展示它们如何工作以及它们的结果. 这些算法都是多智能体,并且在网格地图环境中运行. 我为网格使用了一个JPanel,它包含单元的二维数组,其中每个单元是一个自定义类,扩展了Component类,并使用paint方法在每个单元内绘制我需要的东西. 对于单元格内部的绘图,我使用Graphics.fillRect或Graphics.draw ..
发布时间:2020-04-30 07:21:14 Java开发

使用JUnit测试图形生成

我正在使用Java的Graphics2D生成图形的图形表示.我还使用ImageIO编写PNG文件. (ImageIO.write(image, "png", out);) 我想知道如何编写JUnit测试来测试生成的图形是否符合预期.我可以预生成PNG文件,但是如果另一台计算机上的字体有点不同怎么办? 解决方案 您可以尝试测试输出的特定已知功能,例如: (100,100)处有一个 ..
发布时间:2020-04-25 05:20:41 Java开发

斜面Java(带角度的三角形)

我需要根据一定角度创建一个倾斜的平面,上面有一个方块,然后使用物理定律查看该方块是否滑动.现在,我用Path2D.Double创建了我的块,但是我找不到改变块角度的方法.从应用程序框架中的微调器中选择角度.我创建了2个类,一个类是Frame,另一个是Panel,在其中绘制我的块.这是我的路径代码: @Override public void paintComponent(Graphics g ..
发布时间:2019-11-05 12:17:35 Java开发

在透明Graphics2D上用线绘制形状以获取png图像

所以我的目标是要打开一个窗口,您只需单击即可在白色背景上绘制一些线条.问题在于,当尝试保存时,它总是以png的形式返回,但以正方形图像的形式出现.如果我用线条画一个三角形,我会在一个白色正方形内得到一个三角形,但我只想要该三角形.我真的很感谢您的帮助 我尝试了我在stackoverflow上遇到的所有解决方案,并尝试深入了解Graphics2D,但不幸的是失败了 public ..
发布时间:2019-11-05 12:14:32 Java开发

在玻璃窗格上绘画,而无需重新绘画其他组件

假设我有一个名为 content 的JPanel,其paintComponent(g)被覆盖.该面板通常可以很快地绘制,但是有时(说明:,用户生成了一个可以具有数千个点的图形对象,这会减慢渲染速度.方式,这不是我的问题的一部分),因为其中包含所有图形内容,因此可能需要一秒钟的时间来重新绘制. 我想在鼠标的位置附近绘制一个点,但是我希望它可以快速更新,而不必每次移动鼠标时都重新绘制 conte ..
发布时间:2019-11-05 12:13:42 Java开发

JScrollPane和图形2D

我试图绘制比JFrame大的图形,并使用JScrollPane滚动整个图形.我创建了一个包含两行的简单示例.出现滚动条,但不显示图形. import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JFrame; import javax.swing.JP ..
发布时间:2019-11-05 12:13:28 Java开发

如何绘制透明背景?

我正在尝试使JPanel的片段透明,但是我不能完全使其正常工作.可以这样做吗? import java.awt.*; import javax.swing.*; public class ClearPanel extends JPanel{ public static void main(String[] args) { ClearPanel c = new ClearPanel( ..
发布时间:2019-11-05 12:13:04 Java开发

在jpanel上画线

我想使其像不在jframe上而是在jpanel上绘制标尺(带有90度角刻度线的线). 所以我尝试了: JFrame f = new JFrame(); JPanel ff = new JPanel(); ff.add(new JComponent() { ... }); f.add(ff); ... 但是我失败了. :( 怎么做? 解决方案 您可以简单地为ff覆盖paint ..
发布时间:2019-11-05 12:11:02 Java开发

Graphics2D绘图性能

我正在尝试使用Swing组件中的Java Graphics2D 对象手动绘制“东西”,并且我达到大约2000个正方形,我订购对象绘制得非常慢。 我不知道这是否“普遍”。 2000个对象是否真的“渲染”了? Graphics2D 对象的性能不是很高吗?我应该停在现在的位置,而不是在尝试更复杂的东西之前切换到JOGL而且为时已晚? 解决方案 我编写了一个Java Spirograph G ..
发布时间:2019-01-10 13:11:41 Java开发

用按钮在屏幕上移动球。无法编程初始位置。

所以我正在做这个练习,我需要创建一个程序,按下四个按钮之一,在屏幕上移动一个小球。我已经完成了,但后来我想让初始位置位于屏幕的中心,所以我将值getWidth()/ 2分配给xCoord,将getHeight()/ 2分配给yCoord(首先我没有构造函数,然后当它不起作用时我添加了构造函数并添加了repaint(),因此将调用paintComponent())但是当我启动程序时,球仍然在左上角。 ..
发布时间:2019-01-09 22:51:47 Java开发

Java Graphics2D正在关闭一个像素(舍入错误?)

我一直在尝试使用Graphics2D和PaintComponent在Java中创建程序。但是,Java没有正确地舍入一些值,导致一些点被渲染成与它应该给出不洁图像的位置不同的像素。你可以在下面的图片中看到我的意思。 这是我的代码。我可以改变什么来解决这个问题?谢谢! public void paintComponent(Graphics g) { super.paintCompo ..
发布时间:2019-01-09 21:50:43 Java开发

java图形重绘方法实际上是如何工作的

我刚开始使用java 2d图形应用程序,在我的研究重绘是重绘我们的图形浪费了大量资源。 但是我想知道什么重绘是什么,是什么以及如何有效地使用它,为我画布上的许多可移动动态对象安全快速地线程? 解决方案 我首先要阅读执行自定义绘画和在AWT和Swing中绘画 重绘向 RepaintManager 发出请求以绘制部分或全部一个组件。 RepaintManager 将决定绘制的内容和绘制 ..
发布时间:2019-01-09 20:04:00 Java开发

如何从Graphics2D捕获图形基元到SVG

我需要从调用java.awt.Graphics2D中捕获图形基元。调用是通过开源工具包(Apache的PDFBox)进行的,通常在JPanel中呈现。我想拦截这些调用并将它们转换为SVG,这样我就可以构建一个非图形数据模型(例如表格,图形等)。我会很高兴在这个阶段的任何类型的黑客,其中可能包括: 用MyGraphics2D替换Graphics2D库 查找支持SVG输出并捕获 的Graph ..
发布时间:2019-01-08 19:55:18 Java开发

拖动光标时如何绘制没有间隙的细线?

我有以下类,它在第0层刷新jpeg文件,第1层用于绘制/绘制/绘制与粉碎事物相关的任何内容。但是在我的绘画中,当我想做一条细线时,它会断裂。因为鼠标光标移动需要较慢。 如何解决快速鼠标移动,该行仍然加入? Annotation.java 包裹测试; import java.awt。*; import java.awt.event。*; import java.aw ..
发布时间:2019-01-02 15:50:39 Java开发

Java BufferedImage可以保存不需要的背景颜色

提前感谢您的帮助 描述: 程序绘制,显示和保存图像。它的工作原理如下:对象本身扩展了Frame。在构造函数中,该对象创建一个BufferedImage,并调用一个绘制到该图像上的方法。然后,它将图像显示在帧上。最后,它将图像保存到文件中(我不关心它使用的是什么格式)。主程序创建了对象,剩下的就完成了。 问题: 保存的文件总是有彩色背景!由于显示的图像很好,这尤其奇怪。如果我在Ima ..
发布时间:2019-01-02 15:01:10 Java开发

如何使像素完美Line2D - Graphics2D

G'day,我有JPanel,上面有一些Line2D对象。问题是,当我画这条线时,它不会像我想要的那样出现。线条不平滑,很难解释,所以我发布了一张图片, 缩放区域, 如何让它们看起来更精致而不是皱。 谢谢 解决方案 问题可能是你没有有抗锯齿功能打开你的图形上下文。在绘制之前尝试以下行: graphics.setRenderingHint( RenderingHi ..
发布时间:2019-01-02 13:55:01 Java开发

如何用Java中的Graphics2D旋转文本?

我想使用Graphics2D在JPanel上旋转文字.. 我的代码是这样的: double paso = d.width / numeroBarras; double alto = datos [i] .valor; 字体fBarras = new字体(“Serif”,Font.PLAIN,15); g2.setFont(fBarras); Rectangle2D ba ..
发布时间:2019-01-02 11:17:48 Java开发