Снова русский. Теперь на изображениях.
Добавлено: 15 июл 2004, 09:27
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
public class image_text extends HttpServlet{
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String text = request.getParameter("text");
String s1 = Integer.toString(text.getBytes()[0]);
try {
BufferedImage frame = ImageIO.read(new FileInputStream("c:\\work\\test_text.GIF"));
Graphics2D g = (Graphics2D)(frame.getGraphics());
g.setPaint(Color.black);
String ss = Integer.toString(text.getBytes()[2]);
g.drawString(s1, 10, 90);
g.drawString(text, 10, 100);
response.setContentType("image/png");
ImageIO.write(frame, "png", response.getOutputStream());
}
catch (Exception e) {
String ss = Integer.toString(text.getBytes()[0]);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(s1);
out.println(text);
out.close();
}
}
}
результаты:
http://content.gsm4u.ru/java/image_text?text=%FA - пишет -6 ъ (то, что нужно)
http://content.gsm4u.ru/java/text.jsp?text=%FA%FA%FA - рисует 63 и три знака вопроса. Я уже не знаю, что придумать... как так, я число -6 вывожу (не символы, а именно число!), в одном месте оно выводится правильно, а в другом - нет!
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
public class image_text extends HttpServlet{
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String text = request.getParameter("text");
String s1 = Integer.toString(text.getBytes()[0]);
try {
BufferedImage frame = ImageIO.read(new FileInputStream("c:\\work\\test_text.GIF"));
Graphics2D g = (Graphics2D)(frame.getGraphics());
g.setPaint(Color.black);
String ss = Integer.toString(text.getBytes()[2]);
g.drawString(s1, 10, 90);
g.drawString(text, 10, 100);
response.setContentType("image/png");
ImageIO.write(frame, "png", response.getOutputStream());
}
catch (Exception e) {
String ss = Integer.toString(text.getBytes()[0]);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println(s1);
out.println(text);
out.close();
}
}
}
результаты:
http://content.gsm4u.ru/java/image_text?text=%FA - пишет -6 ъ (то, что нужно)
http://content.gsm4u.ru/java/text.jsp?text=%FA%FA%FA - рисует 63 и три знака вопроса. Я уже не знаю, что придумать... как так, я число -6 вывожу (не символы, а именно число!), в одном месте оно выводится правильно, а в другом - нет!