jjzjj

Graphics2

全部标签

java - 使用 Graphics2D 使用亚像素级精度绘制图像

我目前正在尝试像在视频游戏中一样以固定速率在屏幕上绘制图像。不幸的是,由于图像移动的速度,一些帧是相同的,因为图像还没有移动一个完整的像素。有没有办法向Graphics2D提供float值而不是int值来绘制图像?最初这是我所做的:BufferedImagesrcImage=sprite.getImage();PositionimagePosition=...;//Definedelsewhereg.drawImage(srcImage,(int)imagePosition.getX(),(int)imagePosition.getY());这当然是阈值,所以图片不会在像素之间移动,而

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 - 用于 2d 游戏引擎的 Graphics2D 包装器

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

【QT学习】Graphics View框架(进阶篇)- 派生QGraphicsItem类创建自定义图元item

📢欢迎各位读者:点赞👍收藏⭐留言📝📢博客主页:https://blog.csdn.net/qq_59134387😀📢原创不易,转载请标明出处;如有错误,敬请指正批评!💦📢我不去想是否能够成功,既然选择了远方,便只顾风雨兼程!✨文章目录前言一、实现效果二、实现流程1.创建继承基类QGraphicsItem的派生类myItem2.重新配置生成的头文件3.在类中使用QPixmap创建图片对象并加载4.重写基类QGraphicsItem的两个纯虚函数5.在main函数中定义,并显示自定义图元三、完整源码1.main.cpp文件2.customItem.h文件3.customItem.cpp文件总结前言