7得票2回答
从两个特定点创建矩形

我正在尝试使用Java中的awt包类创建矩形。我只能单击两个点,程序必须计算宽度和高度,并在这两个确切点之间绘制一个矩形。 下面的内容对我没有用: package ie.iact.shapes; import java.awt.Color; import java.awt.Graphic...

7得票3回答
将组件绘制到BufferedImage会导致显示损坏。

我正在使用这里描述的JScrollNavigator组件,以便在我嵌入在JScrollPane中的大型“画布式”CAD组件上提供导航窗口。 我尝试调整JScrollNavigator以绘制画布的缩略图,以向用户提供一些附加上下文。但是,这样做会导致我的应用程序主框架渲染损坏。具体而言,调用位...

7得票1回答
Icon with TexturePaint引发InternalError:Surface not cachable

我有一个自定义的Icon,使用TexturePaint作为绘制材料,并在Graphics2D对象上调用fillPolygon。这段代码在JDK6和JDK7上运行良好,但在64位Linux下的JDK8中失败了(尝试了最近的64位Linux JDK1.8)。在Windows上,使用JDK8可以正常...

7得票1回答
如何使用Java2D绘制内部描边

我想绘制一个精确尺寸为15x15像素的圆形,并填充和描边。我正在使用Java2D。问题在于,由于顺序调用Graphics2D.fill(circle) 和 Graphics2D.draw(circle),绘制出的圆形大小为16x16像素。这是因为内部Java2D轮廓机制对于给定的15x15大小...

7得票3回答
如何在Java中从许多瓷砖创建一个大图像文件?

我的程序逐个生成3000x3000像素的10 x 10图块图像(当前保存为100个名为image_x_y.jpg的文件)。 我想将这100张图像组装成一个大图像,而不必加载所有内容到内存中。我的目标是创建一个30'000 * 30'000像素的大图像文件。 我希望找到一种方法,在不使用JA...

7得票2回答
如何通过BufferedImage将一张巨大的图片加载到Java中?

我想在我的应用程序中加载大型图像(18000 x 18000)。如果我使用类型为int_rgb的BufferedImage,则需要约1235MB的堆内存才能加载。这是非常高的内存占用量,最终用户可能只有更少的内存(1GB或更少)。 在我的开发PC上,当我从MyEclipse IDE加载图像时...

7得票1回答
路径2D上的鼠标指针检测

我构建了一个Path2D,它代表了一个由直线组成的未闭合形状: 我希望能够检测鼠标点击并且鼠标指针靠近路径(在几个像素内)。使用contains方法不起作用,因为算法将未闭合的形状视为隐式闭合(即通过在起点和终点之间画一条直线来实现)。 是否有其他机制可以实现这一点?