iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在Android中使用StaticLayout将文字转化为图片
  • 800
分享到

怎么在Android中使用StaticLayout将文字转化为图片

androidstaticlayout 2023-05-30 21:05:07 800人浏览 八月长安
摘要

这篇文章主要为大家详细介绍了怎么在Android中使用StaticLayout将文字转化为图片,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:Android是什么Android是一种基于linux内核的自由及开

这篇文章主要为大家详细介绍了怎么在Android中使用StaticLayout将文字转化为图片,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:

Android是什么

Android是一种基于linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发

实例代码

public class MainActivity extends AppCompatActivity implements View.OnClickListener {private EditText textView;private ImageView imageView;private Button btn;private String content;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (EditText) findViewById(R.id.input_text);imageView = (ImageView) findViewById(R.id.input_image);imageView.setVisibility(View.INVISIBLE);btn = (Button) findViewById(R.id.btn_close);btn.setOnClickListener(this);//}public static Bitmap textAsBitmap(String text, float textSize) {TextPaint textPaint = new TextPaint();// textPaint.setARGB(0x31, 0x31, 0x31, 0);textPaint.setColor(Color.BLACK);textPaint.setAntiAlias(true);textPaint.setTextSize(textSize);StaticLayout layout = new StaticLayout(text, textPaint, 450,Layout.Alignment.ALIGN_NORMAL, 1.3f, 0.0f, true);Bitmap bitmap = Bitmap.createBitmap(layout.getWidth() + 20,layout.getHeight() + 20, Bitmap.Config.ARGB_8888);canvas canvas = new Canvas(bitmap);canvas.translate(10, 10);// canvas.drawColor(Color.GRAY);canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);//绘制透明色layout.draw(canvas);Log.d("textAsBitmap",String.format("1:%d %d", layout.getWidth(), layout.getHeight()));return bitmap;}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_close:content = textView.getText().toString().trim();if (content != null && content != "") {Bitmap bitmap = textAsBitmap(content, 28);imageView.setVisibility(View.VISIBLE);imageView.setBackgroundResource(R.mipmap.liaotian);imageView.setImageBitmap(bitmap);}else{Toast.makeText(MainActivity.this,"输入内容不能为空",Toast.LENGTH_SHORT);}}}}

布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical"tools:context="com.example.admin.enjoytalk.MainActivity"><TextViewandroid:id="@+id/tv_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!" /><!--<android.support.v7.widget.RecyclerView--><!--android:layout_centerInParent="true"--><!--android:layout_width="match_parent"--><!--android:layout_height="wrap_content"--><!--/>--><EditTextandroid:id="@+id/input_text"android:layout_width="match_parent"android:layout_height="wrap_content" /><Buttonandroid:id="@+id/btn_close"android:layout_width="match_parent"android:text="输入完成"android:layout_height="wrap_content" /><ImageViewandroid:id="@+id/input_image"android:layout_width="match_parent"android:layout_height="wrap_content" /></LinearLayout>

这跟TextView的效果是一样的,其实TextView也是调用StaticLayout来实现换行的。

StaticLayout的构造函数有三个:

public StaticLayout(CharSequence source,   TextPaint paint,   int width,   Layout.Alignment align,   float spacingmult,   float spacingadd,   boolean includepad)   public StaticLayout(CharSequence source,   int bufstart,   int bufend,   TextPaint paint,   int outerwidth,   Layout.Alignment align,   float spacingmult,   float spacingadd,   boolean includepad)   public StaticLayout(CharSequence source,   int bufstart,   int bufend,   TextPaint paint,   int outerwidth,   Layout.Alignment align,   float spacingmult,   float spacingadd,   boolean includepad,   TextUtils.TruncateAt ellipsize,   int ellipsizedWidth)

android StaticLayout参数解释

StaticLayout(CharSequence source, int bufstart, int bufend,  TextPaint paint, int outerwidth,  Alignment align,  float spacingmult, float spacingadd,  boolean includepad,  TextUtils.TruncateAt ellipsize, int ellipsizedWidth)

需要分行的字符串

需要分行的字符串从第几的位置开始

需要分行的字符串到哪里结束

画笔对象

layout的宽度,字符串超出宽度时自动换行。

layout的对其方式,有ALIGN_CENTER, ALIGN_NORMAL, ALIGN_OPPOSITE 三种。

相对行间距,相对字体大小,1.5f表示行间距为1.5倍的字体高度。

在基础行距上添加多少

实际行间距等于这两者的和。

参数未知

从什么位置开始省略

超过多少开始省略

需要指出的是这个layout是默认画在Canvas的(0,0)点的,如果需要调整位置只能在draw之前移Canvas的起始坐标
canvas.translate(x,y);

以上就是编程网小编为大家收集整理的怎么在Android中使用StaticLayout将文字转化为图片,如何觉得编程网网站的内容还不错,欢迎将编程网网站推荐给身边好友。

--结束END--

本文标题: 怎么在Android中使用StaticLayout将文字转化为图片

本文链接: https://www.lsjlt.com/news/221387.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在Android中使用StaticLayout将文字转化为图片
    这篇文章主要为大家详细介绍了怎么在Android中使用StaticLayout将文字转化为图片,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:Android是什么Android是一种基于Linux内核的自由及开...
    99+
    2023-05-30
    android staticlayout
  • 怎么在python中将图片转为字符画
    今天就跟大家聊聊有关怎么在python中将图片转为字符画,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研...
    99+
    2023-06-06
  • 怎么使用PHP将HTML代码转化为图片
    这篇文章主要讲解了“怎么使用PHP将HTML代码转化为图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用PHP将HTML代码转化为图片”吧!工具和技术:PHP GD库: GD是一个开...
    99+
    2023-07-05
  • 怎么用Python将图片转为字符画
    首先有个问题,就是模拟灰度,这里有个公式:1Gray = 0.2126 × R + 0.7152 × G + 0.0722 × B这样就好办了。当然,RGB模式下,256x256x256的颜色范围虽然被转换成了256的灰度范围,字符还是不好...
    99+
    2023-05-17
    Python
  • MATLAB怎么将图片转化为数组
    在MATLAB中,可以使用imread函数将图片转化为数组。以下是一个示例: % 读取图片 img = imread('image....
    99+
    2023-10-21
    MATLAB
  • Android应用中怎么将svg图片转换为jpg格式
    这篇文章给大家介绍Android应用中怎么将svg图片转换为jpg格式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android手机自带的相册或图库是不支持查看svg格式的图片的,所以我们需要把svg格式的图片转为j...
    99+
    2023-05-31
    android svg jpg
  • 使用python怎么将一张图片转换为字符画
    这期内容当中小编将会给大家带来有关使用python怎么将一张图片转换为字符画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。源码(注释很详细):# -*- coding=utf-8&nb...
    99+
    2023-06-06
  • 怎么在Android中利用文字生成图片
    这期内容当中小编将会给大家带来有关怎么在Android中利用文字生成图片,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。根据原图片的大小和字体的大小创建一张空白图片 把原图片按字体的大小分成若干块...
    99+
    2023-05-30
    android
  • 如何使用PHP将HTML代码转化为图片
    PHP和HTML代码是当今互联网开发中最流行的技术。这些技术与技巧不仅允许开发人员构建美观而强大的网站,而且可以实现一些惊人的功能。然而,有些场景下需要将代码转化为图片的方式展示,比如在邮件中提供代码示例、在报告中展示代码样例等,这时php...
    99+
    2023-05-14
    php html
  • Java中怎么将base64编码字符串转换为图片
    本篇内容介绍了“Java中怎么将base64编码字符串转换为图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!将base64编码字符串转换为...
    99+
    2023-07-05
  • 怎么使用Python将图片转为漫画风格
    安装OpenCV首先,我们需要安装OpenCV。OpenCV是一个开源计算机视觉库,它提供了各种各样的图像处理工具,可以用于许多不同的应用程序。我们可以使用以下命令在Python中安装OpenCV: pip install opencv-p...
    99+
    2023-05-14
    Python
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    99+
    2023-09-02
    python Powered by 金山文档
  • php中怎么将ppt转换为jpg图片
    本篇文章给大家分享的是有关php中怎么将ppt转换为jpg图片,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php怎么将ppt转jpg图片?PHP将ppt转成图片查看PHP 安...
    99+
    2023-06-20
  • 怎么在php中将图片转成base64
    这篇文章将为大家详细讲解有关怎么在php中将图片转成base64,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用PHP将图片转换成base64编码的实现方法相信大家都知道Base64是网络...
    99+
    2023-06-15
  • php中怎么将数字转化为字符串
    PHP是一款开源的服务器端脚本语言,广泛用于网站开发和动态网页的创建。在使用PHP进行开发时,经常需要进行数据类型的转换,例如将数字类型转化为字符串类型。本文将介绍PHP中将数字转化为字符串的方法,希望能够帮助PHP开发者更好地理解和使用该...
    99+
    2023-05-14
    php php字符串
  • 使用Unity怎么将文本转换为贴图
    使用Unity怎么将文本转换为贴图?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。导入字体导入ttf字体,修改Character为Custom set,并填入Custom Cha...
    99+
    2023-06-15
  • 怎么让chatgpt将html中的图片转为base64
    这篇文章主要介绍“怎么让chatgpt将html中的图片转为base64”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么让chatgpt将html中的图片转为base64”文章能帮助大家解决问题。...
    99+
    2023-07-05
  • 怎么在php中将中文符号转换为英文字母
    这篇文章给大家介绍怎么在php中将中文符号转换为英文字母,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。简单替换 str_replace()规律替换 均相差 65248方法一:简单替换(php代码)$val1=str_r...
    99+
    2023-06-15
  • linux中怎么将文本界面转化为图形界面
    这篇文章将为大家详细讲解有关linux中怎么将文本界面转化为图形界面,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。打开虚拟机,启动系统系统启动后,由于之前设置而进入文本界面,输入用户名和密码...
    99+
    2023-06-12
  • dreamweaver中怎么将文字放到图片上
    这篇文章主要讲解了“dreamweaver中怎么将文字放到图片上”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dreamweaver中怎么将文字放到图片上”吧!小编这里用CS6版本演示,首先...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作