项目介绍:

将android 项目assets中的1.txt文档中的文字转换成一张图片

第一步:创建工具类,用于读取文档,存入一个String数组, 代码如下:

package test.com;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class TextProperty {private int heigt;//读入文本的行数private String []context = new String[1024];//存储读入的文本  /* *@parameter wordNum  设置每行显示的字数 * 构造函数将文本读入,将每行字符串切割成小于等于35个字符的字符串  存入字符数组 *  */public TextProperty(int wordNum ,InputStreamReader in) throws Exception {int i=0;BufferedReader br = new BufferedReader(in);String s;while((s=br.readLine())!=null){//读入时去掉  空白的行  //if(s.trim().equals("")){//continue;//} if(s.length()>wordNum){   int k=0;   while(k+wordNum<=s.length()){ context[i++] = s.substring(k, k+wordNum);   k=k+wordNum;   }   context[i++] = s.substring(k,s.length());}else{context[i++]=s;}}this.heigt = i;in.close();br.close();}public int getHeigt() {return heigt;}public String[] getContext() {return context;}}


第二步:读入具体文档,将之转换成图片:

package test.com;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class TestActivity extends Activity {    private Button btn;    private final int WORDNUM = 35;  //转化成图片时  每行显示的字数    private final int WIDTH = 450;   //设置图片的宽度    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        btn = (Button) findViewById(R.id.ok);        btn.setOnClickListener(new OnClickListener() {public void onClick(View v) {int x=5,y=10;try {TextProperty tp = new TextProperty(WORDNUM, new InputStreamReader(getResources().getAssets().open("1.txt")));Bitmap bitmap = Bitmap.createBitmap(WIDTH, 20*tp.getHeigt(), Config.ARGB_8888);Canvas canvas = new Canvas(bitmap);Paint paint = new Paint();String [] ss = tp.getContext();for(int i=0;i<tp.getHeigt();i++){canvas.drawText(ss[i], x, y, paint);y=y+20;}canvas.save(Canvas.ALL_SAVE_FLAG);canvas.restore();String path = Environment.getExternalStorageDirectory() + "/image.png";    System.out.println(path);FileOutputStream os = new FileOutputStream(new File(path));bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);os.flush();os.close();}   catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}});    }}

转化显示效果:


项目下载:点击这里

转载自: http://blog.csdn.net/msl0903/article/details/7872392

本文博客源地址:http://blog.csdn.net/ypist

更多相关文章

  1. Android(安卓)APP如何做开场渐变动画
  2. Android在相册中过滤GIF图片
  3. [Android]读写fb0测试
  4. TextView和EditText中添加图片(ImageSpan)
  5. [置顶] Android使用WebView加载图片防止OutOfMemoryError
  6. Android(安卓)setXfermode 遮罩 实现圆形图片
  7. 自动生成Android不同分辨率下的图片
  8. Android(安卓)EditText加载HTML内容(内容包含网络图片)
  9. Android(安卓)自定义控件外观

随机推荐

  1. android SD卡检测和热插拔功能
  2. Android图片处理工具类
  3. Android O 下拉框增加自动亮度开关选项
  4. Android(安卓)ListView 分页功能,包含前端
  5. Android HttpClient接口
  6. init 分析2
  7. android > ListView > 加载res图标
  8. Android 智能聊天机器人demo(类似小爱同学
  9. Android实现拨打电话的两种方式
  10. Android获取SD卡上所有图片、视频缩略图