All pastes #205959 Raw Edit

Something

public text v1 · immutable
#205959 ·published 2006-10-17 04:08 UTC
rendered paste body
import java.io.*;
import javax.imageio.*;
import java.awt.image.*;
import java.awt.*;

public class Clip {
	public static void main(String args[]) {
		new Clip().clip();
	}
	
	public Clip() {}
	public void clip() {
		try {
			FileInputStream in = new FileInputStream("Sprites.bmp");
			BufferedImage fullImg = ImageIO.read(in);
			/*for(int i = 0; i < fullImg.getWidth(); i++) {
				for(int x = 0; x < fullImg.getHeight(); x++) {
					if(isBlack(fullImg.getRGB(i, x)))
						fullImg.setRGB(i, x, 0x00FFFFFF);
				}
			}*/
			BufferedImage[][] images = new BufferedImage[fullImg.getHeight() / 32][(fullImg.getWidth() / 32) - 1];
			for(int x = 0; x < images.length; x++) {
				for(int i = 0; i < images[x].length; i++){
					images[x][i] = fullImg.getSubimage(i * 32, x * 32, 32, 32);
				}
			}
			byte[] buffer = new byte[(fullImg.getWidth() * fullImg.getHeight()) * 3];
			int offset = 0;
			for(int i = 0; i < images.length; i++) {
				for(int x = 0; x < images[i].length - 1; x++) {
					for(int p = 0; p < 32; p++) {
						for(int l = 0; l < 32; l++) {
							buffer[offset++] = (byte)((images[i][x].getRGB(p, l) >> 16) & 0xff);
							buffer[offset++] = (byte)((images[i][x].getRGB(p, l) >> 8) & 0xff);
							buffer[offset++] = (byte)(images[i][x].getRGB(p, l) & 0xff);
						}
					}
				}
			}
			FileOutputStream out = new FileOutputStream("sprites.data");
			out.write(buffer, 0, offset);
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public boolean isBlack(int argb) {
		if(new Color(argb).equals(Color.BLACK))
			return true;
		return false;
	}
	
}