草庐IT

external-graphic

全部标签

java - Graphics2D 转换结果与手动转换不匹配

我正在使用Java的Graphics2D在使用AffineTransform的组件上绘制来操纵我的绘图。Graphics2D为此提供了一种方法转换,它采用AffineTransform。有时我需要在不使用内置转换的情况下手动操作一个点。但是,当我尝试使用我给Graphics2D.transform的相同变换来变换一个点时,有时结果点是不一样的。下面的代码重现了这个问题(它是Scala代码,但我想你可以想象Java代码。):vartransformationMatrix=newAffineTransform()/**transformationMatrixismodifiedthroug

java - 如何在 Java2D/Graphics2D 中指定后备字体

我正在使用g.drawString(str,x,y)绘制带有Graphics2D对象g的字符串。g的当前字体没有覆盖str的所有字符(我在那里有中文字符)。在MacOSX上,后备字体似乎会自动使用,但在Windows上不会,出现黑色方形轮廓而不是所需字符。为什么行为因平台而异?如果缺少字符,如何指定后备字体(或几种后备字体)?(例如,一种漂亮的字体there。)更新/更多信息因此,不支持所有字符的原始字体不是JVM的logicalfonts之一。,但它是我的应用程序附带的捆绑字体,是通过Font.createFont()获得的。因此,将字体添加到JRE的lib/fonts/fallba

java - 在 Java 中重置 Graphics2D 对象

我在Java中试验Graphics2D。但像往常一样,我被困住了。:P问题是:假设我有这段代码,Graphics2Dg=(Graphics2D)(this.getGraphics());//InsideaJFrameg.rotate(Math.PI/8);g.drawLine(10,20,65,80);//Iwantthisoneandallfollowinglinestobedrawnwithoutanyrotationg.drawLine(120,220,625,180);这可能吗???我知道一定有某种方法,但我无法弄清楚。请帮忙。 最佳答案

java - 如何创建 Graphics2D 实例?

在JavaSE7中获取实例以绘制几个调试点的最简单方法是什么?桌面环境。 最佳答案 您可以使用BufferedImage:BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);Graphics2Dgraphics2D=image.createGraphics(); 关于java-如何创建Graphics2D实例?,我们在StackOverflow上找到一个类似的问题:

java - 为什么在 Graphics 对象上调用 dispose() 会导致 JPanel 不呈现任何组件

在得知dispose()应该在Graphics/Graphics2D对象上调用后,我着手改变我的游戏以合并它.当我在JPanel的覆盖paintComponent(Graphicsg)中添加g2d.dispose()时,我添加的组件(扩展JLabel类)在没有呈现的地方我仍然可以点击它们等但它们不会被绘制。我用普通的JLabel和JButton进行了测试,效果相同(虽然JButton在鼠标悬停时呈现)。所以我的问题是为什么会发生这种情况?这是一个SSCCE来演示:在MainMenuPanel类的paintComponent中取消对dispose()的调用后:importjava.awt

java - 如何在 - Graphics2D 中使像素完美的 Line2D

你好,我有JPanel,上面有一些Line2D对象。问题是当我画这条线时,它并没有像我希望的那样出现。线条不流畅,很难用文字解释,所以我贴了一张图片,缩放区域,如何让它们看起来更光滑而不是皱巴巴的。谢谢 最佳答案 问题很可能是您没有在图形上下文中打开抗锯齿功能。在绘制之前尝试以下行:graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);(当然,graphics是您的Graphics2D实例)。稍后当您发

java - Graphics 和 Graphics2D 之间的区别?

Graphics和Graphics2D有什么区别?Graphics2D是否是Graphics的扩展?publicvoidpaintComponent(Graphicsg){super.paintComponent(g);g.drawRect(25,25,20,20);//useGraphicstopaintrectangleGraphics2Dg2=(Graphics2D)g;g2.drawRect(0,0,20,20);//useGraphics2Dtopaintrectangle} 最佳答案 Graphics本身是一个抽象类,因

Java-jar : access external configuration file

我想做一些我认为并不困难的事情。我有一个应用程序,我想将其打包为jar,因为我有大约30个依赖项,并且我希望能够部署单个文件。我有一些配置文件-一个属性文件和一个spring配置文件,以及我的log4props文件-我希望在jar外部。我想我希望如果我将它们放在与jar相同的目录中,它会在运行时找到它们,但事实并非如此。在开发过程中,我将这些文件放在我的eclipse项目的类路径的根目录下,应用程序可以很好地找到它们。我觉得我错过了jar/classpath理论的一些关键方面......所以我想要的是能够将配置文件和jar放在同一目录中,并让应用程序在我使用标准java-jar东西运行

java - 马文 : add external resources

我正在使用maven构建一个可执行jar文件,这意味着您可以使用“java-jarfile.jar”运行它。我想依赖用户定义的属性(只是一个包含键/值的文件),在开发阶段我将我的“user.properties”文件放在maven/src/main/resources/文件夹中。我的属性文件加载了:finalPropertiesp=newProperties();finalInputStreamresource=IOParametres.class.getResourceAsStream("/user.properties");p.load(resource);现在,我想将该文件保存在

java - 用于 2d 游戏引擎的 Graphics2D 包装器

我正在尝试编写一个2d游戏引擎,并且正在尝试实现一个视口(viewport)系统,这样当我在某个视口(viewport)中绘图时,游戏坐标将转换为屏幕坐标,而无需手动执行转变。我想要做的是创建一个添加setViewport方法的Graphics2D包装器。我认为有两种选择:创建一个类,该类具有Graphics2D的实例,并具有与Graphics2D相同的所有方法以及setViewport并且只需调用Graphics2D实例上的相应方法。子类Graphics2D并添加一个setViewport方法,然后从Graphics2D转换到这个新类我尝试了#2,因为#1看起来很不切实际,但遇到了C