Tag: 渲染

如何将抗锯齿应用于像GraphicsContext.fillArc()这样的javafx方法?

我是javafx的新手,我正在使用其渲染函数编写游戏,特别是在Eclipse中使用GraphicsContext.fillArc()等。 这是我目前的代码: BorderPane root = new BorderPane(); Scene scene = new Scene(root, 400, 400); primaryStage.setScene(scene); scene.getStylesheets() .add(getClass().getResource(“application.css”).toExternalForm()); Canvas canvas = new Canvas(400, 400); root.getChildren().add(canvas); GraphicsContext gc = canvas.getGraphicsContext2D(); new AnimationTimer() { public void handle(long currentNanoTime) { gc.setFill(Color.BLUE); gc.fillArc(150, 150, 100, 100, 0, 240, ArcType.ROUND); } }.start(); primaryStage.show(); 但是fillArc()方法在我的屏幕上呈现一个边缘fillArc()的形状。 我想要应用抗锯齿,以便边缘平滑。 但是我在GraphicsContext类中找不到任何相关的方法,并将scene的实例化更改为new Scene(root, 400, 400, false, SceneAntialiasing.BALANCED); […]

在(任何)Java程序中呈现JavaScript和HTML(访问呈现的DOM树)?

我知道此类问题必须在此之前提出,但通过搜索我没有找到解决方案: 我的问题是:什么是最好的Java库“完全下载任何wepage并呈现内置的JavaScript,然后以编程方式访问呈现的网页(即DOM-Tree!),并将DOM树作为”HTML -资源”。 (类似于firebug最终做的事情,它呈现页面,我可以访问完全呈现的DOM树,因为页面在浏览器中看起来像!相反,如果我点击“show source”我只获得JavaScript源代码这不是我想要的。我需要访问渲染的页面…) (使用渲染我的意思是只渲染DOM树而不是视觉渲染……) 这不一定是一个单独的库,可以有几个可以一起完成的库(一个将下载,一个渲染…)但是由于JavaScript的动态特性,JavaScript库也很可能也必须具有某种下载器可以完全呈现​​任何异步JS … 背景:在“过去的好时光”中,HttpClient(Apache Library)是构建自己非常简单的爬虫所需的一切。 (很多像Nutch或Heretrix这样的cralwers仍然围绕这个核心原则构建,主要集中在标准HTML解析上,所以我无法向他们学习)我的问题是我需要抓取一些严重依赖JavaScript的网站我无法使用HttpClient进行解析,因为我之前需要执行JavaScripts … 非常感谢你!! 蒂姆

在jtable中整行的删除线

我有一个JTable ,它的价值超过了mysql数据库。 我制作了几个自定义列渲染器,以便JTable显示我需要的格式化数据。 我现在需要的是在某些行上添加一些删除线,具体取决于每行中最后一个单元格(5)的值是否具有特定的字符串值,例如(测试)。 除最后一个单元格(具有测试值)之外,穿透必须位于该行的每个单元格中。 它可以与其他自定义列渲染器一起使用而不会混淆吗? 谢谢!

每500毫秒平滑渲染Swing组件

当我每隔500毫秒调用paintComponent()来显示更新的图表时,我面临渲染问题。 我在Panel上使用JFreeChart创建了大约30个JFreeChart 。 渲染错误,我该如何解决这个问题? private void ShowGraphs() { FirstChart.removeAll(); SecondChart.removeAll(); ThirdChart.removeAll(); FirstChart.add(Label1); SecondChart.add(Label2); ThirdChart.add(Label3); ChartUpdate(P1,FirstChart); ChartUpdate(P2,SecondChart); ChartUpdate(P3,ThirdChart); //FirstChart, SecondChart, ThirdChart is JPanels //Tabb is JTabbedPane paintComponents(Tabb.getGraphics()); } 此代码每500毫秒调用一次, ChartUpdate(MyObject, Panel)是Panel使用MyObject信息的图表构建function。

如何绘制大型BufferedImage的一部分?

我有一个10000×10000 BufferedImage ,我希望只将其中的一部分绘制到Canvas ,有没有办法使用args这样做: x, y, width, height ? 例如,drawImage(img,x,y,width,height)会从图像开始绘制一个矩形,从(x,y)开始,并以(width,height)为维度? 编辑: 我要重新提出这个问题: 我有一个10000×10000的图像,我只想在屏幕上显示它的一部分,只是用x和y抵消它的问题是,这仍然会导致整个图像被渲染时出现延迟,其中大部分都是在canvas上。 我怎么能基本上这样做才能渲染整个图像,但我可以滚动它而不会导致canvas滞后?

Nimbus和备用行颜色

我不明白Nimbus中的替代行着色是如何工作的。 看起来真的很疯狂! 我想在这里澄清一切。 对于演示,让我们说我们想要一个交替红色和粉红色行的JTable (我不关心哪个颜色是第一个)。 如果没有重新定义执行自己的“模2”的自定义cellRenderer ,并且没有覆盖JTable的任何方法,我想列出启动一个应用程序和使用Nimbus属性获得具有自定义备用行颜色的JTable之间的必要步骤。 以下是我希望遵循的步骤: 安装Nimbus PLAF 自定义“Table.background”nimbus属性 自定义“Table.alternateRowColor”nimbus属性 使用简单的数据/标头创建JTable 将jTable包装在JScrollPane中并将其添加到JFrame 显示JFrame 这里的源代码: public class JTableAlternateRowColors implements Runnable { public static void main(String[] args) { SwingUtilities.invokeLater(new JTableAlternateRowColors()); } @Override public void run() { try { UIManager.setLookAndFeel(new NimbusLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } UIManager.getDefaults().put(“Table.background”, Color.RED); UIManager.getDefaults().put(“Table.alternateRowColor”, Color.PINK); final JFrame jFrame = […]

LibGDX – 调用TiledMapRenderer.render()时应用程序崩溃

@Override public void render(float delta) { Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); camera.update(); sprite.setProjectionMatrix(camera.combined); mLevel.getTiledMapRenderer().getProjectionMatrix().set(camera.combined); Vector3 tmp = new Vector3(); tmp.set(0, 0, 0); camera.unproject(tmp); mLevel.getTiledMapRenderer().render(tmp.x, tmp.y, camera.viewportWidth, camera.viewportHeight); sprite.begin(); … sprite.end(); } 这是我在启动桌面版时得到的: Exception in thread “LWJGL Application” java.lang.IllegalArgumentException: Number of remaining buffer elements is 0, must be at least 1. Because at most 1 elements can be returned, a […]

bezier路径扩大

我有一个带有点S,C1,C2,E的贝塞尔曲线B和一个表示宽度的正数w。 有没有办法快速计算两个贝塞尔曲线B1,B2的控制点,使得B1和B2之间的东西是由B表示的加宽路径? 更正式地:计算良好贝塞尔近似的控制点到B1,B2,其中B1 = {(x,y)+ N(x,y) (w / 2)| (x,y)in C} B2 = {(x,y)-N(x,y) (w / 2)| C中的(x,y), 其中N(x,y)是(x,y)处C的法线。 我说好近似值因为B1,B2可能不是多项式曲线(我不确定它们是否是)。

在Mac OS X上的Java Swing JComponent中渲染Devanagari连字(Unicode)

我试图在Mac OS X 10.6上正确渲染Devanagari连字(在Unicode字符串中)。 字符串在JComponent上绘制,并采用RenderingHints进行抗锯齿。 连字在Windows XP SP2和7以及Ubuntu中正确显示,但在Mac OS X中,连字被分解(或者更确切地说,没有正确合并),变音符被移离其位置等等(参见下面的截图,正确的渲染示例来自左侧的Win XP SP2(使用RenderingHints Antialiasing键ON ),右侧的Mac OS X 10.6.7中的错误渲染示例(Antialising DEFAULT = OFF )。 我已将字体设置如下,因此它应该在任何系统上使用默认字体: new Font(null,Font.PLAIN,20); 我相信所有这些可能与Macs上的默认字符编码是MacRoman(不是UTF-8子集)以及其他系统(如Windows)使用UTF-8子集(例如WinLatin-1)有关)或cp1252等。 即使掌握了这些信息,我也不知道如何处理这个问题。 因此,如果有人能指出我正确的方向,我将非常感激。 我已经尝试了很多东西: 将字体设置为Devanagari MT并没有解决问题 TextAttribute LIGATURES_ON没有解决问题 我非常感谢任何提示或其他开发人员的代码片段(最好是在Mac上开发的印地语背景)。

如何将JSF页面呈现时间和响应大小插入页面本身,至少部分?

我意识到这是一个鸡和蛋的问题,并且不可能准确地解决呈现页面所花费的时间(或响应的大小)并将该数字插入页面本身而不影响任何一个度量。 不过,我正在寻找一种方法来将一个数字部分插入JSF / Facelets / Seam应用程序的页面中。 例如,在某个地方的.jsf页面的底部: 我遇到过JSFUnit的JSFTimer ,非常方便。 但是,相位侦听器方法不允许将RENDER_RESPONSE阶段的结果插入到页面中。 不知道如何访问到目前为止编码的响应的大小。 在RENDER_RESPONSE结束时或之后是否有一种快速而肮脏的方式来连接某种后处理事件并将这两个数字注入到即将呈现的页面中? 接近这个的一种方法可能是通过servletfilter,但我正在寻找更简单的东西; 也许是Seam或Facelets的一招 谢谢, -一个