KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > servlet > Pixel


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 package net.killingar.servlet;
27
28 import javax.servlet.ServletOutputStream JavaDoc;
29
30 public final class Pixel extends javax.servlet.http.HttpServlet JavaDoc
31 {
32   public void doGet(javax.servlet.http.HttpServletRequest JavaDoc request, javax.servlet.http.HttpServletResponse JavaDoc response) throws java.io.IOException JavaDoc, javax.servlet.ServletException JavaDoc
33   {
34         response.setContentType("image/gif");
35
36         ServletOutputStream JavaDoc out = response.getOutputStream();
37         out.write("GIF89a".getBytes());
38
39         byte
40             data1[] = new byte[]{0x01, 0x00, 0x01, 0x00, (byte)0x80, 0x00, 0x00},
41             data2[] = new byte[]{(byte)0xFF, (byte)0xFF, (byte)0xFF, 0x21, (byte)0xF9, 0x04, 0x01, 0x00, 0x00, 0x01, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3B},
42             color[] = new byte[3];
43
44         out.write(data1);
45
46         // write color RGB
47
String JavaDoc s = request.getQueryString();
48         color[0] = (byte)Integer.parseInt(s.substring(0, 2), 16);
49         color[1] = (byte)Integer.parseInt(s.substring(2, 4), 16);
50         color[2] = (byte)Integer.parseInt(s.substring(4, 6), 16);
51         out.write(color);
52
53         out.write(data2);
54   }
55 }
Popular Tags