Page 1 of 1

[Share] Crest in website (JSP)

Posted: Sat Jun 12, 2010 5:42 pm
by LeafaR
Well, I've searched as crazy and found nothing..

Here is the thing, I want to know how to make the crests "viewable", for example, in my website on clan tops I want to add the crest as well, and the Lineage crest have some kind of encoding and the view is not possible, how can i make it possible?

Can be in PHP or Java (I prefer Java, because my website is in Java)

Thanks :)

Edit//

I've done it already

well, actually I converted on from php to java

this is the jsp ;)

Code: Select all

<%@ page import="java.awt.*" %><%@ page import="java.awt.image.*" %><%@ page import="java.io.*" %><%@ page import="java.util.*" %><%@ page import="javax.imageio.*" %><%! public int readInt(RandomAccessFile ra)throws IOException{	int b4 = (int) ra.read();	int b3 = (int) ra.read();	int b2 = (int) ra.read();	int b1 = (int) ra.read();	return (b1 << 24) | (b2 << 16) | (b3 << 8) | b4;} public int readShort(RandomAccessFile ra)throws IOException{	int b2 = (int) ra.read();	int b1 = (int) ra.read();	return ((b1 << 8) | b2);} %> <%File file = new File("Crest_268619650.bmp");//File file = new File("Crest_268607245.bmp");RandomAccessFile ra = new RandomAccessFile(file, "r");byte[] content = new byte[4];ra.read(content, 0, 4); String ddsSTR = new String(content);if (ddsSTR.intern() != "DDS "){	out.print("Error, NO DDS");	return;} readInt(ra); //int size = readInt(ra);readInt(ra); //int flags = readInt(ra);int height = readInt(ra) - 4;int width = readInt(ra);readShort(ra); //int extra = readShort(ra); ra.seek(84); int dxt1 = ra.read(content, 0, 4);String dxt1STR = new String(content);if (dxt1STR.intern() != "DXT1"){	out.print("Error, NO DXT1");	return;} ra.seek(128); response.setContentType("image/png");BufferedImage buffer = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int y = -1; y < (height / 4); y++){	for (int x = 0; x < (width / 4); x++)	{		int color0_16 = readShort(ra);		int color1_16 = readShort(ra);		int r0 = (color0_16 >> 11) << 3;		int g0 = ((color0_16 >> 5) & 63) << 2;		int b0 = (color0_16 & 31) << 3;		int r1 = (color1_16 >> 11) << 3;		int g1 = ((color1_16 >> 5) & 63) << 2;		int b1 = (color1_16 & 31) << 3;		int color0_32 = new Color(r0, g0, b0).getRGB();		int color1_32 = new Color(r1, g1, b1).getRGB();		int color2_32 = new Color((r0 / 2) + (r1 / 2), (g0 / 2) + (g1 / 2), (b0 / 2) + (b1 / 2)).getRGB();		int black = new Color(0, 0, 0).getRGB();		int data = readInt(ra); 		for (int yy = 0; yy < 4; yy++)		{			for (int xx = 0; xx < 4; xx++)			{				int bb = data & 3;				data = data >> 2;				int color = 0;				switch(bb)				{					case 0:						color = color0_32;						break;					case 1:						color = color1_32;						break;					case 2:						color = color2_32;						break;					default:						color = black;						break;				}				int locX = x * 4 + xx;				int locY = y * 4 + yy;				buffer.setRGB(Math.abs(locX), Math.abs(locY), color);			}		}	}} OutputStream os = response.getOutputStream();ImageIO.write(buffer, "png", os); %>
the php one was made by MrChuky
this is the link: http://www.maxcheaters.com/forum/index. ... c=149513.0