Заранее благодарен всем, кто поможет.
С уважением,
Graf
FileInputStream in = new FileInputStream(fileName);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
Image image = decoder.decodeAsBufferedImage();FileOutputStream out = new FileOutputStream(fileName);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode((BufferedImage) image);import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageDecoder;
import com.sun.image.codec.jpeg.JPEGImageEncoder;Graphics2D gfx = (Graphics2D)image.getGraphics();
gfx.setFont(new Font("Tahoma", Font.PLAIN, 24));
gfx.setColor(Color.RED);
gfx.drawString("Hello world!", 40, 40);InputStream is;
BufferedInputStream bis;
BufferedImage bi;
PrintWriter out = response.getWriter();
out.println("<table><tr><td>Picture");
is = resultSet.getBinaryStream("Image");
bis = new BufferedInputStream(is);
bi = ImageIO.read(bis);
img = (Image) bi;
// допустим здесь надо вывести картинку
// .....
out.println("</td></tr></table>");import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
// поскипано
import org.apache.commons.io.CopyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class GetTempImageServlet extends HttpServlet {
private static final Log LOG = LogFactory.getLog(GetTempImageServlet.class);
private static final String IMAGE_ID_PARAM = "imageId";
/**
* Image type: thumbnail or full-size image
*/
private static final String IMAGE_TYPE_PARAM = "imageType";
private static final String IMAGE_TYPE_THUMBNAIL = "thumbnail";
private static final String IMAGE_TYPE_ANNOTATED= "annotated";
private static final String IMAGE_TYPE_CURRENT= "current";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
//Temporary file identifier
String imageId = request.getParameter(IMAGE_ID_PARAM);
String imageType = request.getParameter(IMAGE_TYPE_PARAM);
LOG.debug("Requested image with id " + imageId);
if (imageId == null) {
LOG.warn("Image not specified");
response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Image id not specified");
return;
}
// get requested image
TemporaryImageCollection col = SessionHelper.getTempImageCollection(request.getSession());
TemporaryImage tempImage = col.findById(imageId);
if (tempImage == null) {
LOG.warn("Image not found");
response.sendError(HttpServletResponse.SC_NOT_FOUND, "Image with id " + imageId + " not found");
return;
}
// Send accompanying headers
File file = null;
if(imageType != null && imageType.equals(IMAGE_TYPE_THUMBNAIL)){
file = tempImage.getThumbnail().getFile();
} else if(imageType != null && imageType.equals(IMAGE_TYPE_CURRENT)){
file = tempImage.getCurrent().getFile();
} else {
file = tempImage.getAnnotated().getFile();
}
response.setContentLength((int) file.length());
response.setContentType(Configuration.getIntermediateFormat().getMimeType());
response.setHeader("Content-Disposition",
"filename=" + file.getName() + "." +
Configuration.getIntermediateFormat().getSuffix());
ServletUtils.preventCaching(response);
OutputStream os = response.getOutputStream();
InputStream is = new FileInputStream(file);
try {
CopyUtils.copy(is, os);
} finally {
is.close();
os.close();
}
LOG.debug("File has been transferred successfully");
}
//Clean up resources
public void destroy() {
}
}