struts2实现图片的颜色的变化

本文介绍了一个使用Java和Struts2框架生成随机颜色背景图片的应用示例。通过创建一个名为ImageAction的类,该示例展示了如何生成指定尺寸的随机彩色图片,并将其作为JPEG格式的数据流返回。此外,还提供了Struts配置文件和web应用配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Random; import com.sun.image.codec.jpeg.ImageFormatException; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class ImageAction { private InputStream input; public InputStream getInput() { return input; } public void setInput(InputStream input) { this.input = input; } public String execute() { try { drawImage(); } catch (ImageFormatException e) { return "fail"; } catch (IOException e) { return "fail"; } return "success"; } private void drawImage() throws ImageFormatException, IOException { BufferedImage image = new BufferedImage(300, 400, BufferedImage.TYPE_INT_RGB); Graphics graphics = image.getGraphics(); Random random = new Random(); graphics.setColor(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255))); graphics.fill3DRect(0, 0, 300, 400, true); ByteArrayOutputStream stream = new ByteArrayOutputStream(); JPEGCodec.createJPEGEncoder(stream).encode(image); input = new ByteArrayInputStream(stream.toByteArray()); } }
<?xml version="1.0" encoding="GB18030"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="" extends="struts-default"> <action name="image" class="ImageAction"> <result name="success" type="stream"> <param name="contentType">image/jpeg</param> <param name="inputName">input</param> </result> <result name="fail" > / </result> </action> </package> </struts><?xml version="1.0" encoding="GB18030"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值