⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitmapfont.java

📁 生物物种进化历程的演示
💻 JAVA
字号:
package BitmapFont;import java.util.*;import java.awt.*;import java.awt.image.*;import java.io.*;import BitmapFont.*;public class BitmapFont {        char ch; // the ascii character    int width;    int height;    byte[] data;    public BitmapFont() {    }    public BitmapFont(char c) {	ch = c;    }    public void print(boolean verbose) {	int widthb = ((width-1)/8+1); // number of bytes per row	System.out.println("characters: "+ch+" width: "+width+" height: "+height);	if(!verbose) return;	for(int j=height-1; j>=0; j--) {	    for(int k=0; k<widthb; k++) {		int s = data[j*widthb+k];		for(int l = 0; l<8; l++) {		    if((s&0x80)!=0)			System.out.print("X");		    else			System.out.print(".");		    s = s<<1;		}	    }	    System.out.println();	}    }    public void generate(BufferedImage bim, int[] B, FontMetrics fm) {		// Graphics g =  bim.getGraphics();	// FontMetrics fm = g.getFontMetrics();	int bwidth = bim.getWidth();	int bheight = bim.getHeight();	bim.getData().getDataElements(0, 0, bwidth, bheight, B);	width = fm.charWidth((char)(ch));	height = fm.getHeight();	data = new byte[(((width-1)/8)+1)*height];	int i,j;	int k = 0;	for(i=height-1; i>=0; i--) {	    int bm = 0;	    for(j=0; j<width; j++) {		int b = ((B[bwidth*i+j]&0xff00)==0)?(byte)0:(byte)1;		bm = bm<<1;		bm = b|bm;		if(j%8==7) {		    data[k] = (byte)bm;		    bm = 0;		    k++;		}	    }	    if(j%8!=0) {		bm = bm<<(7-((j-1)%8));		data[k] = (byte)bm;		k++;	    }	}    }    public void read(DataInputStream fin) throws IOException{	ch = fin.readChar();	width = fin.readInt();	height = fin.readInt();	//System.out.println(ch+" "+width+" "+height);	int widthb = ((width-1)/8+1); // number of bytes per row	int len = widthb*height;	data = new byte[len];	fin.read(data, 0, len);    }    public void write(DataOutputStream fout) throws IOException{	fout.writeChar(ch);	fout.writeInt(width);	fout.writeInt(height);	fout.write(data, 0, data.length);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -