在图像视图上绘制文本

2023-12-14

我尝试以这种方式编写文本,但它不起作用,我不明白我错在哪里。

mImageView.buildDrawingCache();
Bitmap bmap = mImageView.getDrawingCache();
Canvas c = new Canvas (bmap);


Paint paint = new Paint();
paint.setColor(Color.RED); 
paint.setStyle(Style.FILL);                
paint.setTextSize(20);
c.drawText("Some Text", 0, 25, paint);

我尝试了几次,但显示屏无法显示任何文字。我必须确保该图像与书面文本一起保存。谢谢


这是如何在 ImageView 上绘制文本的简单示例:

MainActivity.java

package com.exmple.imagetest;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageView mImageView = (ImageView)findViewById(R.id.imageView1);

        Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.image);

        Config config = bm.getConfig();
        int width = bm.getWidth();
        int height = bm.getHeight();

        Bitmap newImage = Bitmap.createBitmap(width, height, config);

        Canvas c = new Canvas(newImage);
        c.drawBitmap(bm, 0, 0, null);

        Paint paint = new Paint();
        paint.setColor(Color.RED); 
        paint.setStyle(Style.FILL);                
        paint.setTextSize(20);
        c.drawText("Some Text", 0, 25, paint);

        mImageView.setImageBitmap(newImage);

    }

}

活动_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:src="@drawable/image"
        android:contentDescription="@string/image" />

</RelativeLayout>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在图像视图上绘制文本 的相关文章

  • Android 卷页动画

    我对 Android 动画有点陌生 目前我正在开发一个故事活动 需要像 iPhone 中那样使用卷页动画 我发现 iPhone 中有一种方法可以做到这一点 但我仍然找不到在android中做的方法 所以请帮我解决这个问题 谢谢大家 谷歌代码
  • PopupWindow onitemclick 中的 Android Listview 在某些设备上不起作用

    我的 ListView 在 PopupWindow 内 当我显示 PopupWindow 并单击设备 ASUS K00z 中的 Listview 行时 fonepad 工作得很好 但在 HTC Z715e 中不起作用 项目单击事件未触发 1
  • Twowayview 滚动时自动添加内边距

    我在用双向视图 https github com lucasr twoway view在我的一个项目中 这是android的扩展回收者视图 https developer android com reference android supp
  • 如何在android中批量插入sqlite

    我正在使用 SQLiteOpenHelper 进行数据插入 我需要插入2500个id和2500个名字 所以花费了太多时间 请任何人帮助我如何减少插入时间 我们可以一次插入多条记录吗 任何人都可以帮助我 先感谢您 代码 public clas
  • 如何将Android中的cURL发送到REST服务

    我是 android 新手 我想从 REST 服务获取一些数据 但在初始化发送到 REST 服务的方法时遇到一些问题 您知道 REST 服务使用 cURL 来操作一些数据 POST PUT GET DELETE 现在如何在 android
  • 如何在 Picasso 中使用磁盘缓存?

    我正在使用 Picasso 在我的 Android 应用程序中显示图像 load image This is within a activity so this context is activity public void loadIma
  • 使用Picasso从url保存图像?

    我正在尝试使用 API Picasso 保存图像 为了做到这一点 我正在尝试使用Target保存 但我无法完成这项工作 我怎么能这样做呢 Trying save image public static void imageDownload
  • android.view.InflateException:二进制 XML 文件行 #11:膨胀类 ImageView 时出错

    我只是尝试制作一个小的 android java xml 应用程序来计算游戏的分数 它给了我这个错误 Error inflateing class ImageView 有人知道解决方案吗 我实际上搜索了 ppl 说添加这个 android
  • 地理编码 API 与地理编码器

    在我的应用程序中 我需要使用地理编码 但我不太清楚该使用哪种方法 直到昨天我在URL中添加了参数maps googleapis com maps api geocode json address myparameter sensor fal
  • AltBeacon 服务位于单独的 Android 进程中

    我需要帮助 有一个适用于 Xamarin Android 的应用程序 在其中 启动了一个与 AltBeacon 库配合使用的服务 在此服务中 创建了一个线程 在该线程中不断扫描信标 服务以 StartForeground 启动 该服务应该有
  • 如何在其他呼叫运行时以编程方式合并呼叫(电话会议)

    我的要求是这样的 假设我当时正在拨打一个号码 并且我想以编程方式拨打另一个号码 到目前为止 我所做的是 当某些呼叫已经进行时 我能够呼叫特定号码 例如 假设我正在拨打号码 123 1 分钟后 通过使用Alarm Manger我触发一个事件来
  • Android:如果任务管理器终止,则重新调用应用程序

    如果应用程序线程被任务管理器杀死 则应用程序线程将关闭 需要重新调用应用程序 就像它被其他应用程序或任务管理器杀死一样 任何想法 您必须使用 START STICKY 命令运行后台服务 只需扩展 Service 并重写 onCommand
  • 将触摸事件从 NestedScrollView 传递到父视图

    我在 NestedScrollView 下方有一个 ViewPager 宽度一些顶部填充 以及 ClipToPadding false 和透明背景 如图像 我的 ViewPager 无法获取触摸事件并且无法工作 我怎么解决这个问题 我无法更
  • 如何关闭导航抽屉以使用返回主页图标按钮?

    我也将操作栏与搜索栏一起使用 并且我需要像后退按钮一样使用 ActionBar ico 但我也在使用导航抽屉 如何关闭 隐藏 禁用导航抽屉菜单以使用后退按钮 我的 ActionBar 代码 Override public boolean o
  • 推特更新状态

    我正在通过 twitter4j 将 Twitter 集成到 Android 我可以成功阅读我发布的推文 现在我试图用它发布推文 但我不能 我收到如下奇怪的警告 02 01 16 28 43 298 WARN System err 729 4
  • 可用屏幕的尺寸

    我使用的是 Nexus 7 1280x800 android 4 2 2 API 17 我想获取屏幕的大小 将其划分为相同高度和宽度的正方形部分 我正在使用 FrameLayout 我的方块是 ImageView 的子类 我这样做 cont
  • 按“重置应用程序首选项”后,我的应用程序的所有权限都被撤销

    我开发了一个应用程序 支持Android 6 0 当我在 设置 gt 应用程序 gt 重置应用程序首选项 中重置应用程序首选项时 我的应用程序的所有权限都将被撤销 并且应用程序不会重新启动 撤销权限后未能重新启动应用程序可能会导致许多意外崩
  • 如何解决android程序中的警告“从不本地读取”

    为什么我收到警告说 The field testscreen ScaleAnimToShow mVanishAfter is never read locally testscreen java testscreen src com tes
  • Android 版本低于 Lollipop 时出现 java.lang.NoClassDefFoundError

    我有一台运行 Android 21 的 Nexus 5 设备 我正在测试我的项目 没有任何问题 但是 如果我使用 Google API 19 在模拟器上进行测试 则会显示错误java lang NoClassDefFoundError 如果
  • Android Google 地图无法在当前主题中找到样式“mapViewStyle”

    添加谷歌地图视图时 我扩展了MapView 使用xml编辑器将其添加到活动中 并将我的谷歌地图api密钥手动添加到布局xml文件中 我的权限在清单文件中允许互联网 我想知道的是 在 xml 编辑器中 我收到错误 无法在当前主题中找到样式 m

随机推荐

  • 同时播放两种声音

    有没有办法同时播放两种声音 我知道SoundPlayer无法做到这一点 我不能使用SoundEffect因为我相信它只是 XNA 的一部分 所需的两个声音将在未知且随机的时间被调用 声音播放后需要进行控制 即 声音必须能够在播放完毕之前停止
  • 在 Android 的导航栏顶部绘制位图

    在我的应用程序中 我需要在所有正在运行的应用程序之上绘制一个位图 我创建了一个不可见的视图 并覆盖在所有应用程序之上 使用此覆盖视图 我可以在给定位置绘制位图 但无法在导航栏顶部绘制位图 我使用了以下布局参数 WindowManager L
  • sphinx可以链接到不在根文档下面的目录中的文档吗?

    我正在使用 Sphinx 来记录一个非 Python 项目 我要分发 doc每个子模块中的文件夹 包含submodule name rst文件来记录该模块 然后 我想将这些文件吸收到主层次结构中 为整个设计创建规范 I e Project
  • 使用 itext 的 XML 工作器

    import java io FileOutputStream import java io StringReader import com itextpdf text Document import com itextpdf text P
  • 为什么 Thread.interrupt() 不能中断尝试获取锁的线程

    Thinking in Java 一书中写道 Thread interrupt 无法中断尝试获取同步锁的线程 我想知道为什么 阻塞操作只有在声明为抛出异常时才能被中断InterruptedException 显然 一个synchronize
  • Python Tkinter 两个按钮的一个回调函数

    我已经寻找这个问题的答案很长时间了 但仍然没有找到任何东西 我正在使用 Tkinter 创建一个 GUI 并且我有两个按钮 除了从不同的小部件接收信息之外 它们基本上执行相同的操作 一个按钮用于条目小部件 另一个按钮用于列表框小部件 这两个
  • “SELECT”语句中的“IF” - 根据列值选择输出值

    SELECT id amount FROM report I need amount to be amount if report type P and amount if report type N 如何将其添加到上面的查询中 SELEC
  • Python cx_Oracle 绑定变量

    我是一个Python新手 我在使用绑定变量时遇到了麻烦 如果我执行下面的代码 一切都会正常 bind var ciao sql select from sometable where somefield bind cur prepare s
  • 多重登录选项的用例

    我有一个用例 用户可以通过普通登录以及社交登录 例如 Twitter Google Facebook 登录 我如下绘制用例 但不确定它是否正确 登录账号 扩展 gt 正常登录 扩展 gt Twitter 登录 扩展 gt 谷歌登录 扩展 g
  • 登录后如何在firebase中上传用户个人资料图片?

    我将个人资料图片上传到 Firebase Storage 包含用户信息的数据库屏幕截图然后我获取图像 URL 并将其存储到 Firebase 实时数据库中 当我将 imagurl 存储到 Firebase 实时数据库中的特定用户时 我看到我
  • numpy改变元素匹配条件

    对于两个 numpy 数组 a b a 1 2 3 b 4 5 6 我想将a的x a a lt 2 5 b 希望成为a 4 5 3 但这会出错 Traceback most recent call last File
  • importlib.reload 不会重新加载以编程方式生成的文件

    第二个断言失败 表明导入库 重新加载默默地无法重新加载修改后的模块 任何人都可以解释为什么吗 import os import sys import tempfile import importlib Create some module
  • 用于查找树中支配集的多项式时间算法

    设 G V E 为无向图 G 中节点的子集 S V 称为 支配集 如果对于所有 v V 我们有 v S 或存在某个节点 u S 使得 u v E 换句话说 每个V S 中的节点通过边连接到 S 中的某个节点 给定 V 节点上的非负权重 w
  • AttributeError:对象没有属性“_type_equality_funcs”

    我的程序的 Unittest 模块实现出现以下错误 File usr lib python2 7 unittest case py line 493 in getAssertEqualityFunc asserter self type e
  • 关于使用@property和@synthesize保留属性的问题

    我对 Objective C 编码还很陌生 正如这个问题所证明的那样 并且我认为我没有完全理解在 property 声明中使用保留属性的工作原理 这是一个示例类 interface Foo NSObject NSMutableArray m
  • 下载文件到Android WebView(代码中没有下载事件或HTTPClient)

    这更多是出于好奇而提出的问题 而不是需要解决的实际问题 我制作了一个包含 WebView 的 Android 应用程序 我使用了 should override URL 方法 以便单击的任何链接都将在 WebView 中打开 后来我决定将文
  • 进行字符串连接时出现运行时错误

    下面的程序有什么问题 main char str1 United char str2 Front char str3 str3 strcat str1 str2 printf n s str3 我无法编译上面的程序 它总是给我运行时错误 我
  • 在 Java 中从 TTF 文件加载一些 TrueType 字体会导致 FontFormatException: 未找到字体名称

    我正在尝试从系统上的 TTF 文件创建 java awt Font 实例 但只有某些字体能够正确加载 下面的代码是我在网上找到的一些测试代码 在我的系统上运行时 它能够成功加载 285 种字体 例如 Arial ttf 但无法加载 83 种
  • 应该使用什么来代替已弃用的 EntityName.account.ToString()?

    当我设计一个查询表达式 我一直使用以下硬编码语法 QueryExpression expression new QueryExpression EntityName account In 这个博客以下语法基于这个枚举用来 QueryExpr
  • 在图像视图上绘制文本

    我尝试以这种方式编写文本 但它不起作用 我不明白我错在哪里 mImageView buildDrawingCache Bitmap bmap mImageView getDrawingCache Canvas c new Canvas bm