【Android开发学习41】Android 将文字转为为图片drawText
2013-05-07 16:10
495 查看
项目介绍:
将android 项目assets中的1.txt文档中的文字转换成一张图片
第一步:创建工具类,用于读取文档,存入一个String数组, 代码如下:
第二步:读入具体文档,将之转换成图片:
转化显示效果:
项目下载:点击这里
转载自:
http://blog.csdn.net/msl0903/article/details/7872392
本文博客源地址:http://blog.csdn.net/ypist
将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_S***E_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 block e.printStackTrace(); } } }); } }
转化显示效果:
项目下载:点击这里
转载自:
http://blog.csdn.net/msl0903/article/details/7872392
本文博客源地址:http://blog.csdn.net/ypist
相关文章推荐
- Android开发学习之路-带文字的图片分享
- android学习:在ListView中添加带图片和文字的复杂列表项
- android开发步步为营之103:android分享音频视频图片和文字功能的实现
- Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式
- 41.Android之图片放大缩小学习
- android开发学习(四)——anr产生的原理&如何避免,android消息机制入门, 网络图片查看器
- Android GIS开发系列-- 入门季(6)GraphicsLayer添加文字与图片标签
- Android 多媒体开发学习之加载大图片
- Android 多媒体开发学习之创建图片的副本
- [原]零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片
- Android组件学习笔记(分享文字以及图片功能)
- Android开发中如何改变RadioButton背景图片和文字的相对位置(转)
- Android开发之网络图片查看方法BitmapFactory.decodeStream()学习01
- android开发 之 Canvas绘制文字,图片
- Android开发学习之路-GSON使用心得(OCR图片识别)
- android开发之TextView显示加载的文字和图片
- Android应用开发学习之图片切换器
- 零基础学习SDL开发之在Android使用SDL2.0渲染PNG图片
- android开发学习--------资源管理(声音&图片)
- 安卓(Android)开发之分享带文字的图片