我想用java实现这样一个功能:运行后让用户输入一串字符,然后会在当前文件夹下生成一个该二值图片
就是生成一个由该字符串组成的.bmp二值图片,请问应该怎么写代码回答者请给出详细的步骤,谢谢,如果觉得悬赏不够可以追加悬赏不好意思,我想各位是不是理解错了,我要的功能只是...
就是生成一个由该字符串组成的.bmp二值图片,请问应该怎么写代码
回答者请给出详细的步骤,谢谢,如果觉得悬赏不够可以追加悬赏不好意思,我想各位是不是理解错了,我要的功能只是生成一个 比如 “1234”这个图片,没那么复杂吧?代码需要这么长?
就比如生成这样一个图片吧,我是做数字水印嵌入方面的 展开
回答者请给出详细的步骤,谢谢,如果觉得悬赏不够可以追加悬赏不好意思,我想各位是不是理解错了,我要的功能只是生成一个 比如 “1234”这个图片,没那么复杂吧?代码需要这么长?
就比如生成这样一个图片吧,我是做数字水印嵌入方面的 展开
展开全部
楼上的回答,真不靠谱!!!!!!
效果图
简单来说很简单
String s = "你的文字";
File file = new File("D:/image.bmp"); // 设置图片保存位置
Font font = new Font("Serif", Font.BOLD, 10);
//创建一个画布
BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//获取画布的画笔
Graphics2D g2 = (Graphics2D)bi.getGraphics();
g2.drawString(s, 20, 20); //画出文字
try {
//将生成的图片保存为jpg格式的文件。ImageIO支持jpg、png、gif等格式
ImageIO.write(bi, "bmp", file);
} catch (IOException e) {
System.out.println("生成图片出错........");
e.printStackTrace();
}
// 至于有任何其他问题,和功能完善,请继续追问。
更多追问追答
追问
非常感谢我就是这个意思、我还有以下几个小问题希望您能帮忙解答下
假如我想生成一个32*32像素的图片,分成4块,每块为16*16,然后再这4块中各加入一个字符(注意是字符不是字符串),这是应该怎样改?
还有如果设置文字的大小?
谢谢
追答
抱歉, 不是太了解 你说的32*32 16*16 的排版 能不能简单画个图出来。
设置文字的大小。 上面的代码 少了一行。 忘记写了。。
应该是。。
Font font = new Font("Serif", Font.BOLD, 10); // 字体, 风格加粗, 10号字体
g2.setFont(font); //设置画笔使用这个字体对象
待说明完整需求后,再写上完整代码
展开全部
前面几位理解错了,我想楼主想生成黑白位图罢了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-25
展开全部
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Reader;
import com.google.zxing.ReaderException;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
public class myzxing {
public myzxing() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
myzxing t=new myzxing();
t.encode();
t.decode();
}
// 编码
public void encode() {
try {
//String str = "CN:男;COP:公司;ZW:职务";// 二维码内容
String path = "xxx.bmp" //存储的图片名称;
BitMatrix byteMatrix;
byteMatrix = new MultiFormatWriter().encode(new String(str.getBytes("GBK"),"iso-8859-1"),
BarcodeFormat.QR_CODE, 200, 200);
File file = new File(path);
MatrixToImageWriter.writeToFile(byteMatrix, "png", file);
} catch (Exception e) {
e.printStackTrace();
}
}
}
//zxing可以在官网或CSDN上下载
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询