gpt4 book ai didi

在 Applet 中上传图像时 Java 堆大小问题

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:24 24 4
gpt4 key购买 nike

我的任务是压缩图像,重新调整其大小,最后将水印添加到该图像中。我面临的问题是,在向该图像写入水印时,Eclipse 会抛出错误,指出“Java 堆大小错误”

 BufferedImage bufferedImage = new BufferedImage(
icon.getIconWidth(), icon.getIconHeight(),
BufferedImage.TYPE_INT_RGB);

在 Stackoverflow.com 的帮助下,我通过在 Eclipse VM 中添加 -Xmx1024m 来增加 Java 虚拟内存,解决了这个问题。但是,当我在浏览器中运行这个小程序时,我的任务未完成,即图像处理在水印写入区域中发生。我已将 Java 控制面板中的 Java 虚拟内存大小更改为 -Xmx1024m,但我仍然面临同样的问题。

如有任何帮助或建议,我们将不胜感激。提前致谢。

下面给出了我的代码工作以及我面临的问题。

public BufferedImage setWaterMark(File imageFile, String watermark, String fontName, int fontSize, float opaque,int offsetSize,int intAngle,int intChkbox) throws Exception {


ImageIcon icon = new ImageIcon(imageFile.getPath());
System.out.println("Reading Image at Water mark");


BufferedImage bufferedImage = new BufferedImage(
icon.getIconWidth(), icon.getIconHeight(),
BufferedImage.TYPE_INT_RGB);


Graphics2D g2d = (Graphics2D) bufferedImage.getGraphics();
g2d.drawImage(icon.getImage(), 0, 0, null);

g2d.setFont(new Font(fontName, Font.BOLD, fontSize));
g2d.drawImage(icon.getImage(), 0, 0, null);
AlphaComposite alpha = AlphaComposite.getInstance(
AlphaComposite.SRC_OVER, opaque);
g2d.setComposite(alpha);
g2d.setColor(Color.white);
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

最佳答案

来自Applet Deployment Parameters :

<APPLET archive="my_applet.jar" code="MyApplet" width="300" height="300">
<PARAM name="java_arguments" value="-Xmx128m">
</APPLET>

也可以在 JNLP 中完成文件(如果小程序是由 Java Web Start 启动的) .

关于在 Applet 中上传图像时 Java 堆大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com