|
package jlinewriter;
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class LineWriter {
public void createImage (String pString ){
int strWidth=metr.stringWidth(pString);
while(strWidth>this.image.getWidth()){
font =new Font(Font. SANS_SERIF, Font. BOLD, font. getSize()-1 );
metr=g.getFontMetrics(font);
strWidth=metr.stringWidth(pString);
}
g.setFont(font);
g. setColor(new Color(255,255,255,255 ));
g.fillRect(0, 0, this.image.getWidth(), this.image.getHeight());
g. setColor(new Color(242,242,242,255 ));
g.drawString(pString, (this.image.getWidth()-strWidth)/2, (this.image.getHeight()-metr.getHeight())/2);
for(int i=0; i<this.image.getWidth()/2; i++){
g.fillRect(i*4, 0, 2, this.image.getHeight());
}
}
String path =pFile. getAbsolutePath();
String ext =path. substring(path. length()-3 );
if(!this.controlFile(ext)){
pFile =new File(path +".png");
ext="png";
}
ImageIO.write(this.image, ext, pFile);
}
private boolean controlFile (String pExt ){
if(pExt.equalsIgnoreCase("png") || pExt.equalsIgnoreCase("bmp") || pExt.equalsIgnoreCase("jpg") || pExt.equalsIgnoreCase("jpeg")){
return true;
}
return false;
}
}
|
|