Tag: graphics2d

如何使图像在随机位置闪烁?

我在JApplet有一个图像,我希望它出现在随机位置。 它将在1秒后消失并再次出现在另一个随机位置。 如何实现“随机闪烁”? import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.net.URL; public class Random extends JApplet { Image ball; public void init() { try { URL pic = new URL(getDocumentBase(), “ball.gif”); ball = ImageIO.read(pic); } catch (Exception e) { e.printStackTrace(); } } public void paint(Graphics g) { if (ball != null) { g.drawImage(ball,50,50,50,50,this); } } […]

如何使用java从pdf文档中读取或提取图形组件,如square,rect,line等?

我试图从使用iText生成的pdf文档中提取所有数据(如square,rect,line等)。但是我无法提取内容而不是文本和图像。我想提取图形组件上文提到的。

SVG到Java Graphics2D

任何人都可以提出一些从SVG数据生成Graphics2D对象的好方法吗? 我已经看过Apache Batic lib,但是它接触到它们使用了一些获取URI等的JSVGCanvas ……我想要一个Graphics2D的东西而不是JComponent。 谢谢你的任何建议!

将Java图形用于applet时,可以增加线条粗细吗? 我不相信BasicStroke有效

我无法调整线条粗细。 我可以在图形中执行此操作,还是必须在Graphics2D中执行此操作? 如果是这样,我该如何改变程序以使其运行? 谢谢! import java.applet.Applet; import java.awt.*; public class myAppletNumberOne extends Applet { public void paint (Graphics page) { //Something here??? } }

如何有效地实现java.awt.Composite?

背景:我需要能够以“禁用”外观创建图像。 通常建议的方法是将图像转换为灰度并显示灰度图像。 缺点是它只适用于图像,因此显示图形很麻烦,因为您无法立即访问处于禁用状态的图像。 现在我认为这可以使用java.awt.Composite动态完成(然后我不需要知道如何实现一个Icon来禁用它)。 似乎没有实现转换为灰度,所以我必须创建自己的…… 也就是说,我一起攻击了一个实现(它呈现了我所期望的)。 但我不确定它是否真的适用于所有情况(复合/ CompositeContext的Javadocs对于这种复杂的操作看起来非常薄)。 正如你从我的实现中看到的那样,我采用了一种迂回的方式来逐像素处理,因为似乎没有简单的方法来批量读取/写入像素,而这种格式并不是由所涉及的栅格决定的。 欢迎任何指向更广泛的文档/示例/提示的指针。 这是SSCCE – 它通过DisabledComposite渲染(彩色)GradientPaint,将渐变转换为灰度。 请注意,在现实世界中,您将无法知道通过哪些调用呈现的内容。 Gradient实际上只是一个例子(抱歉,但是人们常常没有这样做,所以这次我会明确说明)。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Composite; import java.awt.CompositeContext; import java.awt.Dimension; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.ColorModel; import java.awt.image.Raster; import java.awt.image.WritableRaster; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class CompositeSSCE implements Runnable { static class DisabledComposite implements […]

Java:检测图像格式,resize(缩放)并另存为JPEG

这是我的代码,它实际上工作,不完美,但确实如此,问题是resize的缩略图不粘贴在白色的绘制矩形上,打破图像宽高比,这里是代码,有人可以建议我修复好吗,拜托? 谢谢 import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import javax.imageio.ImageIO; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class ImageScalerImageIoImpl implements ImageScaler { private static final String OUTPUT_FORMAT_ID = “jpeg”; // Re-scaling image public byte[] scaleImage(byte[] originalImage, int targetWidth, int targetHeight) { […]

Java图形重绘问题

在java中使用简单的画笔时出现问题。 让我的清除按钮重绘的问题。 arrays正在清除,但没有重新绘制。 任何人都可以发现我的问题,或者是否有任何不同的方法为此代码生成一个清除按钮。 public class DrawingPanel extends JPanel { private double x1=0; private double x2=0; private double y1=0; private double y2=0; private ArrayList myArr = new ArrayList(); //private ArrayList clearMyArr = new ArrayList(); ButtonPanel buttonPress; public void paintComponent(Graphics g) { for (Shape i : myArr) { Graphics2D g2d = (Graphics2D)g; g2d.draw(i); } /*for (Shape […]

Java – 使用Graphics2D矩形在面板中创建2D平铺贴图?

我正试图在一个非常基本的程序中模拟一场战斗,但由于这是我第一次使用Java编写一个大程序,所以我对如何继续进行操作几乎一无所知。 我以为我会有一个600×600的大面板并使用Graphics2D来绘制20×20矩形的地形……不幸的是,即使有几个教程,我也不知道该怎么做。 我有10种不同类型的地形可以循环,还有5种不同的景观轮廓。 基本上我想让程序做的是当我在combobox中选择一个特定的轮廓时,它描绘了战斗中的景观和两个相对的侧面(虽然我还没有完全在那里) 老实说,我在该计划中没有取得很大进展。 我应该只使用Graphics2D和矩形这样的东西,还是应该切换到OpenGL或类似的东西? 虽然凭借我目前的Java经验,我认为如果没有帮助我就不会对它有太大的帮助。 无论如何,这是我到目前为止所拥有的: public class Map extends JPanel { int n = 1; int x; int y; int Area = 750; public Color City = new Color(214,217,223); public Color Desert = new Color(255,204,102); public Color DirtRoad = new Color(153,102,0); public Color Forest = new Color(0,102,0); public Color Hills = new […]

使用Graphics2D翻转图像

我一直试图弄清楚如何翻转图像一段时间,但还没想到。 我正在使用Graphics2D来绘制Image g2d.drawImage(image, x, y, null) 我只需要一种在水平轴或垂直轴上翻转图像的方法。 如果你想要,你可以看看github上的完整源代码 。

为Graphics2D绘图创建空间

我想绘制一个由Graphics2D矩形组成的简单板,但我也希望在这个板下有一个JButton。 我知道这个板的确切尺寸(以像素为单位),我试图处理getContentPane()方法和BoxLayout,如下所示: frame.getContentPane().add(board); frame.getContentPane().add(Box.createRigidArea(new Dimension(bWidth, bHeight))); frame.getContentPane().add(new JButton(“Start”)); frame.pack(); 但RigidArea并非真正隐形,它会覆盖我的绘图。 能否请您给我一些如何使其正常工作的提示? :(我只想要一个小按钮,它让我现在坐在这里大约2个小时…… 谢谢!