长微博工具非常有用,140字的要求可能阻止你写更多的内容,于是长微博工具应运而生,虽然网上有很多长微博工具,但是我都不是很满意,所以自己想做一个,通过做这个长微博工具,我学习到了很多东西,有两个难点,一个是怎么制作水印,另一个是水印制作成功了,怎么让水印文字多行显示!废话不多说了,先上效果图吧!

生成之后的图片如下:

在这里我就不多解释了,也不多说了,代码中解释非常详细,已经写好了,相信大家肯定能看明白。关键代码如下:

/*** 将文字添加到图片上*/private void makeTxtToImage() {String content = weiboContentTv.getText().toString();// 获取到背景图片Bitmap photo = BitmapFactory.decodeResource(this.getResources(),R.drawable.weibo_bg);// 获得layoutImage宽度,这里其实就是屏幕的宽度int totalWidth = layoutImage.getWidth();// 获得背景图片的高度int totalHeight = photo.getHeight();// 得到文本框的宽度int textWidth = weiboContentTv.getWidth();// 计算文字的起点int xWidth = (totalWidth - textWidth) / 2;// 建立一个空的BitmapBitmap icon = Bitmap.createBitmap(totalWidth, totalHeight,Bitmap.Config.ARGB_8888);// 初始化画布绘制的图像到icon上Canvas canvas = new Canvas(icon);Paint photoPaint = new Paint(); // 建立画笔// Dither(图像的抖动处理,当每个颜色值以低于8位表示时,对应图像做抖动处理可以实现在可显示颜色总数比较低(比如256色)时还保持较好的显示效果photoPaint.setDither(true); // 获取更清晰的图像采样// 过滤photoPaint.setFilterBitmap(true);// setDither()和setFilterBitmap()的具体含义不是很清楚,但是只要记住:设置上这两个方法,就可以是图像更清晰就行!// 创建一个指定的新矩形的坐标Rect src = new Rect(0, 0, totalWidth, totalHeight);// 创建一个指定的新矩形的坐标Rect dst = new Rect(0, 0, totalWidth, totalHeight);// 将photo缩放或扩大到dst使用的填充区photoPaintcanvas.drawBitmap(photo, src, dst, photoPaint);// 设置文字画笔TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG| Paint.DEV_KERN_TEXT_FLAG);// 字体大小textPaint.setTextSize(22.0f);// 采用默认的宽度textPaint.setTypeface(Typeface.DEFAULT);// 文字画笔采用的颜色textPaint.setColor(Color.BLACK);// 设置阴影,这里不用阴影// textPaint.setShadowLayer(3f, 1, 1,// this.getResources().getColor(android.R.color.background_dark));///*** StaticLayout中参数的解释:* * 1.字符串子资源* * 2 .画笔对象* * 3.layout的宽度,字符串超出宽度时自动换行。* * 4.layout的样式,有ALIGN_CENTER, ALIGN_NORMAL, ALIGN_OPPOSITE 三种。* * 5.相对行间距,相对字体大小,1.5f表示行间距为1.5倍的字体高度。* * 6.相对行间距,0表示0个像素。* * 实际行间距等于这两者的和。* * 7.还不知道是什么意思,参数名是boolean includepad。*/StaticLayout layout = new StaticLayout(content, textPaint, textWidth,Alignment.ALIGN_NORMAL, 1.2F, 0.0F, true);// 这个StaticLayout是让文字在图片中多行显示的关键,android之所以强大就是它已经帮你封装好了,通过对StaticLayout的设置就可以让EditText中的文字多行显示canvas.translate(xWidth, 0);layout.draw(canvas);saveMyBitmap(icon);}/*** 保存图片至SD卡中* * @param bitmap*/public void saveMyBitmap(Bitmap bitmap) {FileOutputStream fos = null;try {File file = new File(Environment.getExternalStorageDirectory().getAbsoluteFile() + File.separator + "longweibo");if (!file.exists()) {file.mkdirs();}fos = new FileOutputStream(new File(file, "longweibo"+ System.currentTimeMillis() + ".jpg"));bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);} catch (FileNotFoundException e) {e.printStackTrace();Toast.makeText(MainActivity.this, "长微博生成失败!", Toast.LENGTH_SHORT).show();} finally {if (fos != null) {try {fos.flush();fos.close();} catch (IOException e) {e.printStackTrace();}}Toast.makeText(MainActivity.this, "长微博生成成功!", Toast.LENGTH_SHORT).show();}}

转载请注明出处:http://blog.csdn.net/loongggdroid/article/details/17591977

通过学习制作长微博工具来了解水印的制作,及EditText中的内容在图片中换行显示相关推荐

  1. 长微博android,Android 上最强大的长微博工具:BlackLight 长微博

    手机端的长微博工具屈指可数,Android 上的更是寥寥无几.除却官方客户端那不太像样的长微博功能之外,能够将长文字转换成图片的恐怕就只有锤子便签和 Smooth 了.BlackLight 作为新晋的 ...

  2. 用长微博工具发布长微博

    发布长微博的工具 原来的长微博网址打不开了,不知道原作者的新长微博地址是什么? 有个朋友经常要使用长微博工具,我就花了点时间试着写了一个新的长微博工具,也就是所谓的长微博生成器. 长微博的优点 由于大 ...

  3. 长微博工具-长微博生成器-新浪长微博-腾讯长微博-长微博转换器

    长微博,长微博生成器,长微博工具,新浪长微博,长微博转换器,新浪长微博生成器,新浪长微博工具,文字转换器 http://www.cwbgj.com/ 这是一个新兴的词汇,是随着微博的发展才出现的.正常 ...

  4. 长微博工具开发者称遭新浪无故封号

    网易科技讯 6月2日消息,有开发者通过微博表示,其开发运营的长微博工具和ID账号遭到新浪的无故封杀,并认为这与新浪想推出长微博应用.打压竞争对手有关. "无耻的新浪为了自己做长微博(看我火了 ...

  5. 长微博工具,文转图 C#实现

    一来工作需要,而来我也一直有兴趣自己写一个长微博工具,其实思想很简单,首先文转图,然后拼图.下面来贴上自己写的文转图代码,以供大家研究参考. 下面这段是我封装的实现文转图的代码,里边对某个字体实际占的 ...

  6. 新浪新版微博邀请码 (持续更新最新) - 长微博工具

    新版新浪微博邀请码大放送 - 长微博工具 长微博工具 :  http://www.cwbgj.com --------------------------------------------- htt ...

  7. 鹿定制与国际大牌西服的10点区别?丨新浪官方长微博工具

    鹿定制与国际大牌西服的10点区别?丨新浪官方长微博工具 鹿定制与国际大牌西服的10点区别?丨新浪官方长微博工具 鹿定制与国际大牌西服的10点区别? posted on 2014-08-23 19:48 ...

  8. 一个不错的长微博工具(文图微博)

    今天找到一个不错的文字转图片工具,可以发长微博! www.weituweibo.com(文图微博) 可以支持自定义字体大小.加粗和颜色. 就是速度慢了点,应该是放在国外的原因.

  9. 长微博工具:菊子曰自动微博文字转图片,突破微博140字限制,一键发布完成...

    菊子曰从4.7 G57版本开始,新增加长微博功能,能轻松的把微博文字转为图片,突破微博140字限制,转换后的图片中文字清晰. 使用方法:在发布时,如果文字内容超过140字,软件会自动提示是否转为图片( ...

最新文章

  1. 皮一皮:落伍了落伍了
  2. 显卡在电脑什么位置_DIY组装电脑教程,新手也能学会自己组装电脑
  3. 前后台传参类型、格式不同,解决思路
  4. 如何做可靠的分布式锁,Redlock真的可行么
  5. Flash中的SLC/MLC/MLC--基础
  6. CTF爬虫:掌握这些特征,一秒识别密文加密方式
  7. [转载] Java 语言中的实例初始化块 ( IIB) 详解
  8. linux开机自启服务命令,linux开机自启服务命令
  9. 苹果今年预计生产8000万部iPhone 12,多还是少?
  10. HTML5_Canvas_属性、定义及方法
  11. Atitit 通过调用gui接口杀掉360杀毒 360卫士  qq保镖等难以结束的进程(javac# php )
  12. 蓝桥杯 算法提高 全排列 next_pertumutation
  13. 设计模式之依赖倒置原则
  14. CTF-密码学-位移密码
  15. [VC++]控制台程序窗口隐藏
  16. 2017 EC-Final A Chat Grou
  17. 北京化工大学计算机考研资料汇总
  18. C语言Matrix编程题——[Recursion]D. Liang 8.1 Computing factorials
  19. Fuchsia OS 将推送给所有第一代 Nest Hub 设备
  20. 1688关键词搜索api(附可用)

热门文章

  1. 六牛php工程师,童六牛——安徽工业大学材料学与工程学院教授
  2. 扫地机器人充电插座布置_扫地机器人插座离地面多高合适 扫地机器人好不好用...
  3. 【批处理DOS-CMD命令-汇总和小结】-跳转、循环、条件命令(goto、errorlevel、if、for[读取、切分、提取字符串]、)cmd命令错误汇总,cmd错误
  4. Kubernetes kubeconfig配置文件
  5. 2006年中国互联网天使投资大会文字实录
  6. Stata:时间序列中的格兰杰因果检验
  7. 钉钉移动端和PC免登
  8. Java——反射机制(下)
  9. 订餐系统jsp模板_基于jsp的订餐系统-JavaEE实现订餐系统 - java项目源码
  10. 索尼IMX316 标定_ToF模块相机校准