问题标签 [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.
java - 使用带有 TextLayout 和 LineBreakMeasurer 的 java2d 用户空间测量
我在用户空间 (mm) 中定义了一个 java2d 图像来打印身份证。通过对所需 DPI(屏幕或打印)使用 AffineTransform 转换为像素。
我想将文本换成多行,但 TextLayout 不尊重用户空间坐标。我正在使用以下内容将包装文本写入区域:
上面的代码使用字体的用户空间大小来确定字体度量,因此结果相当大。字体大小被计算为一个区域中行数的最佳垂直拟合,计算如下。例如
使用 g2d.drawString("Some text to display", x, y) 时,字体大小显示正确。
有没有人有更好的方法在用户空间坐标中进行文本布局?
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 照片大小调整解决方案吗?
谢谢!
java - JTable 单元格未正确呈现形状
我正在尝试使用子类 JPanel 呈现我的 JTable 单元格,并且单元格应显示为带有圆圈的彩色矩形。当表格最初显示时,一切看起来都很好,但是当一个对话框或其他内容显示在单元格上时,当它被删除时,已被覆盖的单元格没有正确呈现并且圆圈被打破等。然后我必须移动滚动条或扩展窗口以使它们正确重绘。
我用来渲染单元格的组件的paintComponent 方法如下:
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?
xml - Java Swing 上的操作
在我的项目中,我将从 XML 文件中获取一些点的坐标,并使用这些信息创建一些可视化组件?我计划将这些组件提供给 Java 摆动框架或面板。但是,用户应该单击图形(我将使用 Graphics 2d 库构建)并选择两个点并为这两个点之间的点打一个标签?如何获得点击 JFrame 或 JPanel 的点击(即此类操作的事件)?
java - 这是不好的做法吗?多个 Graphics2D 对象
我创建了一个包含所有图形的 JPanel 画布;即JLabel。要使动画精灵工作,您必须覆盖扩展 JLabel 类的paintComponent。我已经以这种方式成功实现了动画精灵。
拥有一个 Graphics2D 画布然后在自己的 Graphics2D 中有多个“图像”是不好的做法吗?
swt - 更快:SWT 还是 Java2D?
哪个具有更快的图形性能:SWT 还是 Java2D?
在 MacOSX 上,SWT 的图形是否通过 Quartz Extreme,而后者又使用硬件加速的 OpenGL 进行渲染?
我不是指本机 UI 控件,而是询问自定义 2D 图形渲染,如文本、线条、曲线和多边形。
java - 如何在 Java Swing 中创建投影、内发光和外发光?
我正在使用 Graphics2D 界面生成一些图像,有时我希望能够在图像上绘制一些文本并将其应用到 Adobe Photoshop 中的效果。
现在要在文本上生成“阴影”,我正在绘制文本两次,一次是原始颜色,一次是黑色,带有轻微的 (1px) x&y 偏移。不幸的是,这过于简单,因为我需要更多地控制阴影(不透明度、大小、散布)。
至于内发光和外发光,我不确定从哪里开始;蒙版/渐变油漆/阿尔法混合?
是否有用于产生这些类型效果的 Java 库?如果不是,您将如何创建这些效果?
performance - 如何提高 TextLayout.draw(..) 的 Java2D 性能
我正在使用 Java2DTextLayout
类以及 aLineBreakMeasurer
和 anAttributedCharacterIterator
将一段文本绘制到一个框中。文本被换行。
分析显示代码非常慢。大部分时间都迷失在方法中TextLayout.draw(..)
。
有人对提高速度有建议吗?
相关代码片段如上所示。attribText
是AttributtedString
之前的一套。context
是g2d.getFontRenderContext()
。
java - java2d 对象的非破坏性转换
我希望能够缩放和取消缩放由 Path2D.Double 制成的 Java2D 场景,而无需加粗线条,只需扩大距离即可。
我尝试对 paintComponent 方法接收的 Graphics2D 对象应用转换,但这会使线条变粗。我发现的唯一方法是对线条应用转换(line.transform(AffineTransform.getScaleInstance(2d,2d))
例如),但每次我再次缩放和取消缩放时,我都会因为浮点错误而丢失信息。
长话短说:这些转变是破坏性的。有没有办法说“我想在不修改行内容的情况下应用该转换来绘制这条线”?