草庐IT

Graphics

全部标签

java - 将 OBJ 文件中的四边形转换为三角形?

起初,这似乎很明显......只要找到4个索引,就在每个面上制作2个三角形,对吧?含义如下:v1.0000001.0000000.000000v-1.0000001.000000-0.000000v1.000000-1.0000000.000000v-1.000000-1.000000-0.000000f-4-3-2-1...反过来,需要转换成如下内容:v1.0000001.0000000.000000v-1.0000001.000000-0.000000v1.000000-1.0000000.000000v-1.000000-1.000000-0.000000f-4-3-2f-2-3

java - 覆盖 paint 或 paintComponent 时需要恢复图形原始状态

我意识到大多数Java代码都覆盖了paint或paintComponent,它们中的大多数在改变图形对象的状态后不会恢复图形对象的旧状态。比如setStroke,setRenderingHint...我想知道在从方法返回之前恢复图形对象的旧状态是否是一个好习惯。例如publicvoidpaintComponent(Graphicsg){super.paintComponet(g);StrokeoldStroke=g.getStroke();g.setStroke(newStroke);//Dodrawingoperation.g.setStroke(oldStroke);}这是一个好的

java - 如何使用 g.fillRect 方法在 Java 中创建一个 Rectangle 对象

我需要创建一个矩形对象,然后使用paint()将其绘制到小程序。我试过了Rectangler=newRectangle(arg,arg1,arg2,arg3);然后尝试使用将其绘制到小程序g.draw(r);它没有用。有没有办法在java中做到这一点?我已经在谷歌上搜索了它生命的一英寸以内寻找答案,但我一直无法找到答案。请帮忙! 最佳答案 试试这个:publicvoidpaint(Graphicsg){Rectangler=newRectangle(xPos,yPos,width,height);g.fillRect(r.getX(

java - 如何将 drawString() 文本设为粗体?

我的paintComponent方法中有一个drawString()方法。有没有办法让drawString()绘制的文字粗体?另外,有没有办法让文字变大?我想避免使用JLabel,除非绝对必要。 最佳答案 根据drawString的文档:Drawsthetextgivenbythespecifiedstring,usingthisgraphicscontext'scurrentfontandcolor.Thebaselineoftheleftmostcharacterisatposition(x,y)inthisgraphicsco

java - 使用 Java 的简单 2D 图形的最佳 API

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我不确定使用Java的简单2d图形的最佳API是什么。我知道java.awt.Graphics2D是标准,但它被替换了吗?Swing是用于JavaGUI应用程序的新API,但对于我想要的东西来说它似乎有点沉重。我真正想要的是像CSDLlibrary这样的东西.

java - 在 Java 中重绘()

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:JavaGUIrepaint()problem?我写了一个Java代码,但我遇到了GUI问题。当我将一个组件添加到JFrame对象中时,我会调用repaint()方法来更新GUI,但它不起作用。但是,当我最小化或调整此框架的大小时,GUI会更新。这是我的代码:publicstaticvoidmain(String[]args){JFrameframe=newJFrame();frame.setSize(460,500);frame.setTitle("Circlesgenerator");frame.setD

java - 了解 BufferStrategy

我是java的新手。我想做一个游戏。经过大量研究,我无法理解bufferstrategy是如何工作的。我知道基础知识..它创建了一个屏幕外图像,您可以稍后将其放入您的Windows对象中..我明白了publicclassMarcoextendsJFrame{privatestaticfinallongserialVersionUID=1L;BufferStrategybs;//createanstrategyformulti-buffering.publicMarco(){basicFunctions();//justtheclasicssetSize,setVisible,etccr

java - 为什么 Java 2D 原点在左上角?

我不是在提示,只是想知道。为什么Java使用绘图表面的左上角作为原点?我假设更自然的是选择左下角作为原点,并随着它们向上和向右增加轴(类似于Quartz)。 最佳答案 自古以来,计算机图形就起源于左上角,其中包括QuickDraw。使用左下角(如在数学中)是PostScript/PDF的东西。由于Quartz基于PDF,因此它使用其坐标,但这在图形库中主要是一个独特的决定。 关于java-为什么Java2D原点在左上角?,我们在StackOverflow上找到一个类似的问题:

java - 如何确定图形字符串的长度?

我正在用Excel文档创建一个图形时间轴,我需要在该事件的标记旁边添加事件名称的小标签。其中一些很简单,并且是右对齐的,但其他的是左对齐的,我需要计算出它们的宽度,以便我可以正确地抵消它们。window.drawString("7/4-FourthofJuly",horizontalIndex-Offset,verticalIndex);目前我使用字体大小10和32的平均值来平均像素宽度,但这并没有真正削减它。有人可以帮我得到确切的偏移量吗? 最佳答案 这个线程解释了如何做到这一点:Calculatethedisplaywidtho

java - 检测图中的奇点

我正在用Java创建一个图形计算器作为我的编程类(class)的一个项目。这个计算器有两个主要组成部分:图形本身,它绘制线条,以及方程式计算器,它将一个方程式作为String并......好吧,计算它。为了创建直线,我创建了一个Path2D.Double实例,并循环遍历直线上的点。为此,我计算与图形宽度一样多的点(例如,如果图形本身的宽度为500像素,我计算500个点),然后将其缩放到图形的窗口。现在,这适用于大多数线路。但是,在处理singularities时不会.如果在计算点时,图形遇到域错误(例如1/0),图形将关闭Path2D.Double实例中的形状并开始新的一行,以便线在数