【测试类】

  1. public static void main(String[] args)
  2. {
  3. try
  4. {
  5. File textFile = new File("F:\\java56班\\eclipse-SDK-4.2-win32\\1.txt");
  6. File imageFile = new File("F:\\java56班\\eclipse-SDK-4.2-win32\\1.png");
  7. TextToImage texttoimage = new TextToImage(textFile, imageFile);
  8. texttoimage.convert();
  9. }
  10. catch (Exception e)
  11. {
  12. e.printStackTrace();
  13. }
  14. }

【将文本转换为图片类】

  1. import java.awt.Color;
  2. import java.awt.Font;
  3. import java.awt.Graphics;
  4. import java.awt.image.BufferedImage;
  5. import java.io.BufferedReader;
  6. import java.io.File;
  7. import java.io.FileNotFoundException;
  8. import java.io.FileOutputStream;
  9. import java.io.FileReader;
  10. import java.io.IOException;
  11. import com.sun.image.codec.jpeg.JPEGImageEncoder;
  12. import com.sun.image.codec.jpeg.JPEGCodec;
  13.  
  14. public class TextToImage {
  15.  
  16. /** 文本文件 */
  17. private File textFile;
  18. /** 图片文件 */
  19. private File imageFile;
  20. /** 图片 */
  21. private BufferedImage image;
  22. /** 图片宽度 */
  23. private final int IMAGE_WIDTH = ;
  24. /** 图片高度 */
  25. private final int IMAGE_HEIGHT = ;
  26. /** 图片类型 */
  27. private final int IMAGE_TYPE = BufferedImage.TYPE_INT_RGB;
  28.  
  29. /**
  30. * 构造函数
  31. * @param textFile 文本文件
  32. * @param imageFile 图片文件
  33. */
  34. public TextToImage(File textFile,File imageFile){
  35. this.textFile = textFile;
  36. this.imageFile = imageFile;
  37. this.image = new BufferedImage(IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_TYPE);
  38. }
  39.  
  40. /**
  41. * 将文本文件里文字,写入到图片中保存
  42. * @return boolean true,写入成功;false,写入失败
  43. */
  44. public boolean convert() {
  45.  
  46. //读取文本文件
  47. BufferedReader reader = null;
  48. try {
  49. reader = new BufferedReader(new FileReader(textFile));
  50. } catch (FileNotFoundException e) {
  51. e.printStackTrace();
  52. return false;
  53. }
  54.  
  55. //获取图像上下文
  56. Graphics g = createGraphics(image);
  57. String line;
  58. //图片中文本行高
  59. final int Y_LINEHEIGHT = ;
  60. int lineNum = ;
  61. try {
  62. while((line = reader.readLine()) != null){
  63. g.drawString(line, , lineNum * Y_LINEHEIGHT);
  64. lineNum++;
  65. }
  66. g.dispose();
  67.  
  68. //保存为jpg图片
  69. FileOutputStream fos = new FileOutputStream(imageFile);
  70. JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
  71. encoder.encode(image);
  72. fos.close();
  73. } catch (IOException e) {
  74. e.printStackTrace();
  75. return false;
  76. }
  77. return true;
  78. }
  79.  
  80. /**
  81. * 获取到图像上下文
  82. * @param image 图片
  83. * @return Graphics
  84. */
  85. private Graphics createGraphics(BufferedImage image){
  86. Graphics g = image.createGraphics();
  87. g.setColor(null); //设置背景色
  88. g.fillRect(, , IMAGE_WIDTH, IMAGE_HEIGHT);//绘制背景
  89. g.setColor(Color.BLACK); //设置前景色
  90. g.setFont(new Font("微软雅黑", Font.PLAIN, )); //设置字体
  91. return g;
  92. }

【将txt文本转图片】的更多相关文章

  1. 数据库存储txt文本和jpg图片

    环境:MySql+SQLyog+j2se+jdbc 存储文本用longtext类型 存储图片用blob类型 1.首先建表 create table t_t (id int(16) NOT NULL A ...

  2. 如何使用免费PDF控件从PDF文档中提取文本和图片

             如何使用免费PDF控件从PDF文档中提取文本和图片 概要 现在手头的项目有一个需求是从PDF文档中提取文本和图片,我以前也使用过像iTextSharp, PDFBox 这些免费的PD ...

  3. 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件

    [源码下载] 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件 作者:webabcd 介绍重新想象 Windows 8 Store ...

  4. C# 提取PPT文本和图片的实现方案

    在图文混排的文档中,我们可以根据需要将文档中的文字信息或者图片提取出来,通过C#代码可以提取Word和PDF文件中的文本和图片,那么同样的,我们也可以提取PPT幻灯片当中的文本和图片.本篇文档将讲述如 ...

  5. Java 读取PDF中的文本和图片

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取.   使用工具:Free Spire.PDF for Ja ...

  6. Java 提取Word中的文本和图片

    本文将介绍通过Java来提取或读取Word文档中文本和图片的方法.这里提取文本和图片包括同时提取文档正文当中以及页眉.页脚中的的文本和图片. 使用工具:Free Spire.Doc for Java ...

  7. 使用JavaMail发送邮件(含文本/附件/图片)的工具类

    记录利用公司内搭建的smtp邮件服务器,使用javax mail发送邮件的程序 package com.test.mailTest; import java.util.Date; import jav ...

  8. 使用java读取解析txt文本数据,管理简单的数据

    在实际开发中会经常碰到使用编程语言读取文本文件的内容,这内容可以是各种各样的一下本人写出我自己做的一个读取文本文件的例子,文件中存储的是我的个人网站 www.yzcopen.com 导航栏目因为懒得使 ...

  9. C# 读取Word文本框中的文本、图片和表格(附VB.NET代码)

    [概述] Word中可插入文本框,在文本框中可添加文本.图片.表格等内容.本篇文章通过C#程序代码介绍如何来读取文本框中的文本.图片和表格等内容.附VB.NET代码,有需要可作参考. [程序环境] 程 ...

随机推荐

  1. oracle 导入sql中文乱码(转)

    导入sql的有中文,直接在linux环境下进行复制粘贴的,发现进去的都是乱码, 修改如下: 进入oracle用户,#vi /home/oracle/.bash_profile; 在最后一行添加:exp ...

  2. tomcat下同时部署两个项目不能正常启动的问题

    在部署两个项目,这两个项目都是采用了一个框架,只是业务系统进行了修改.部署的时候发现启动有问题.会报类似下边的错误 Web app root system property already set t ...

  3. iOS学习笔记(01) - 泛型

    决定新开一坑,在不断学习的同时分享自己的学习历程给大家,既是对自己学习的记录,又希望能对大家提供些微的帮助. 这一篇文章主要来介绍泛型的意义.使用与声明方法等. 1.泛型:限制类型 1.1.泛型使用场 ...

  4. python模拟登录知乎

    # -*- coding:utf-8 -*- import urllib import urllib2 import cookielib import sys from bs4 import Beau ...

  5. H5页面适配所有iPhone和安卓机型的六个技巧

    http://www.th7.cn/web/html-css/201605/166006.shtml http://www.th7.cn/web/html-css/201601/153127.shtm ...

  6. 图像相似度计算之哈希值方法OpenCV实现

    http://blog.csdn.net/fengbingchun/article/details/42153261 图像相似度计算之哈希值方法OpenCV实现 2014-12-25 21:27 29 ...

  7. hdu_5742_It's All In The Mind

    题目链接:hdu_5742_It's All In The Mind 题意: 有一个部分的数列,让你找一个满足他给的三个条件的数列,使前两个数的和除这个数列的sum最大 题解: xjb贪心一下就行了. ...

  8. IntelliJ IDEA 7.0 正式版注册机代码

    好神奇,第一次看见注册机的源代码,自己运行一下.可以是java IDE环境,也可以是配置好jdk的dos环境. 然后输入自己的用户名就可以获得相对应的注册码,输入到软件中即可. 仅供参考,请购买正版. ...

  9. DDE复盘流程

    开始复盘: 1 导入前面数据 重新复盘: 1.打开行情管理器 2.关闭图表 3.删除tick和1分钟图 4.关闭行情管理器 5.开启.

  10. struct函数

    //今天老师叫用一个struct函数做一个函数指针循环 突然我都不知道struct函数怎么用了 害的我下去查了很多资料 第一个定义法: int fun1(){    struct student{   ...