问题标签 [java-2d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
654 浏览

java - 使用带有 TextLayout 和 LineBreakMeasurer 的 java2d 用户空间测量

我在用户空间 (mm) 中定义了一个 java2d 图像来打印身份证。通过对所需 DPI(屏幕或打印)使用 AffineTransform 转换为像素。

我想将文本换成多行,但 TextLayout 不尊重用户空间坐标。我正在使用以下内容将包装文本写入区域:

上面的代码使用字体的用户空间大小来确定字体度量,因此结果相当大。字体大小被计算为一个区域中行数的最佳垂直拟合,计算如下。例如

使用 g2d.drawString("Some text to display", x, y) 时,字体大小显示正确。

有没有人有更好的方法在用户空间坐标中进行文本布局?

0 投票
3 回答
18937 浏览

java - 是否有 100% Java 替代 ImageIO 来读取 JPEG 文件?

我们正在使用 Java2D 调整上传到我们网站的照片的大小,但我们遇到了一个问题(一个看似旧的问题,参见: http: //forums.sun.com/thread.jspa?threadID=5425569) - 一些特殊的 JPEGCMMException当我们尝试ImageIO.read()包含其二进制数据的 InputStream时引发 a :

(截断堆栈跟踪的其余部分,即我们的ImageIO.read()调用、servlet 代码等)

我们将其缩小到使用特定相机拍摄的照片,我选择了一张触发此错误的照片:http: //img214.imageshack.us/img214/5121/estacaosp.jpg。我们注意到这只发生在 Sun 的 JVM 上(在 Linux 和 Mac 上,刚刚在 1.6.0_20 上进行了测试)——一台带有 OpenJDK 的测试机器可以顺利读取相同的照片,这可能是由于 JPEG 读取器的不同实现。

不幸的是,我们无法在生产环境中切换 JVM,也无法使用 ImageMagick ( http://www.imagemagick.org/ ) 等依赖于本机的解决方案。

考虑到这一点,我的问题是:是否存在可以处理链接照片等照片的 ImageIOs JPEG 阅读器的替代品?如果没有,我们可以使用另一种 100% 纯 Java 照片大小调整解决方案吗?

谢谢!

0 投票
1 回答
954 浏览

java - JTable 单元格未正确呈现形状

我正在尝试使用子类 JPanel 呈现我的 JTable 单元格,并且单元格应显示为带有圆圈的彩色矩形。当表格最初显示时,一切看起来都很好,但是当一个对话框或其他内容显示在单元格上时,当它被删除时,已被覆盖的单元格没有正确呈现并且圆圈被打破等。然后我必须移动滚动条或扩展窗口以使它们正确重绘。

我用来渲染单元格的组件的paintComponent 方法如下:

0 投票
1 回答
5128 浏览

java - 在 Netbeans GUI 中覆盖paintComponent

我在我的 Netbeans 生成的 GUI 中添加了一个 JPanel,并添加了一个 JPanel BoxThing,它覆盖paintComponent并绘制了一个小红框,但它不显示,paintComponent甚至从未被调用。如果我实例化我自己的 JFrame 并在其中放置一个包含 BoxThing 的 JPanel,它可以正常工作。

我在随机论坛上看到这个问题被问过几次,人们没有回答这个问题,而是指向自定义绘画教程,这显然没有帮助。

我先尝试使用 Netbeans 5.5,然后切换到 Netbeans 6.8,同样的问题。

主.java

BoxThing.java

如您所见,如果您只运行BoxThing.java's就可以了main。如果您运行 Netbeans GUI,它将无法工作。那么,如何将自定义组件添加到 Netbeans 生成的 Swing GUI?

0 投票
1 回答
89 浏览

xml - Java Swing 上的操作

在我的项目中,我将从 XML 文件中获取一些点的坐标,并使用这些信息创建一些可视化组件?我计划将这些组件提供给 Java 摆动框架或面板。但是,用户应该单击图形(我将使用 Graphics 2d 库构建)并选择两个点并为这两个点之间的点打一个标签?如何获得点击 JFrame 或 JPanel 的点击(即此类操作的事件)?

0 投票
1 回答
455 浏览

java - 这是不好的做法吗?多个 Graphics2D 对象

我创建了一个包含所有图形的 JPanel 画布;即JLabel。要使动画精灵工作,您必须覆盖扩展 JLabel 类的paintComponent。我已经以这种方式成功实现了动画精灵。

拥有一个 Graphics2D 画布然后在自己的 Graphics2D 中有多个“图像”是不好的做法吗?

0 投票
2 回答
1200 浏览

swt - 更快:SWT 还是 Java2D?

哪个具有更快的图形性能:SWT 还是 Java2D?

在 MacOSX 上,SWT 的图形是否通过 Quartz Extreme,而后者又使用硬件加速的 OpenGL 进行渲染?

我不是指本机 UI 控件,而是询问自定义 2D 图形渲染,如文本、线条、曲线和多边形。

0 投票
2 回答
17041 浏览

java - 如何在 Java Swing 中创建投影、内发光和外发光?

我正在使用 Graphics2D 界面生成一些图像,有时我希望能够在图像上绘制一些文本并将其应用到 Adob​​e Photoshop 中的效果。

现在要在文本上生成“阴影”,我正在绘制文本两次,一次是原始颜色,一次是黑色,带有轻微的 (1px) x&y 偏移。不幸的是,这过于简单,因为我需要更多地控制阴影(不透明度、大小、散布)。

至于内发光和外发光,我不确定从哪里开始;蒙版/渐变油漆/阿尔法混合?

是否有用于产生这些类型效果的 Java 库?如果不是,您将如何创建这些效果?

0 投票
1 回答
594 浏览

performance - 如何提高 TextLayout.draw(..) 的 Java2D 性能

我正在使用 Java2DTextLayout类以及 aLineBreakMeasurer和 anAttributedCharacterIterator将一段文本绘制到一个框中。文本被换行。

分析显示代码非常慢。大部分时间都迷失在方法中TextLayout.draw(..)

有人对提高速度有建议吗?

相关代码片段如上所示。attribTextAttributtedString之前的一套。contextg2d.getFontRenderContext()

0 投票
2 回答
377 浏览

java - java2d 对象的非破坏性转换

我希望能够缩放和取消缩放由 Path2D.Double 制成的 Java2D 场景,而无需加粗线条,只需扩大距离即可。

我尝试对 paintComponent 方法接收的 Graphics2D 对象应用转换,但这会使线条变粗。我发现的唯一方法是对线条应用转换(line.transform(AffineTransform.getScaleInstance(2d,2d))例如),但每次我再次缩放和取消缩放时,我都会因为浮点错误而丢失信息。

长话短说:这些转变是破坏性的。有没有办法说“我想在不修改行内容的情况下应用该转换来绘制这条线”?