从资源中绘制位图到另一个资源上

2023-11-27

我有两个位图,背景 and 前景。如何在不使用其他画布的情况下在背景上绘制位图前景?

解决方案:

1) 首先使用附加选项 ARGB_8888 从资源创建位图

BitmapFactory.Options options = new BitmapFactory.Options();  
options.inPreferredConfig = Bitmap.Config.ARGB_8888;

2) 声明位图

Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.background, options);  
Bitmap foreground = BitmapFactory.decodeResource(getResources(), R.drawable.foreground, options);

3)onDraw()函数内部绘制图形

protected void onDraw(Canvas canvas)    
{  
    canvas.drawColor(Color.White);

    Paint paint = new Paint();
    canvas.drawBitmap(background, 0, 0, paint);
    paint.setXfermode( new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));
    canvas.drawBitmap(foreground, 0, 0, paint); 
}

正如 Soxxeh 所说,这是非常好的信息来源:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Xfermodes.html


尝试这个:

canvas.drawBitmap(backgroundImageBitmap, 0.0f, 0.0f, null);
canvas.drawBitmap(foregroundImageBitmap, 0.0f, 0.0f, null);

第二张图像(前景图像)必须具有 Alpha 方面,否则您无法看穿它。

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

从资源中绘制位图到另一个资源上 的相关文章

  • Android Volley 对于一个请求返回两次结果

    我两天来一直在试图解决这个问题 但我完全被难住了 由于某种原因 我向队列发送一个请求 但 volley 返回两次 这会调用侦听器两次并使列表视图中的结果加倍 我打开了 Volley 的日志记录 可以看到请求被添加到队列中并返回 然后几秒钟后
  • 使用街景图像

    我想获取街景图片 注明纬度和经度 并显示在对话框中 这可能吗 我在这里看到了一些示例 但没有找到一个向我展示如何在对话框中显示图像的示例 抱歉 如果网站中已经存在这个问题 但我在搜索时没有找到 是的你可以 作为 URL 根 你可以使用这个h
  • 调整 Android 日期选择器控件的大小

    如何将 android datepicker 控件的初始大小调整为更小或更大 有没有唯一的方法可以重新实现它 我一直无法找到调整其大小的方法 但已经看到了使用 DatePicker 作为对话框的实现 日期呈现为带有编辑按钮的 TextVie
  • 使用JACK时生成的proguard mappings.txt文件在哪里?

    我一直在尝试使用最新的JACK 和 JILL 构建系统到我的android项目 我知道JACK进程包括proguard处理 但之后我找不到映射 txt归档回溯堆栈跟踪Google Play 开发者控制台上提供的错误数 请帮我查找映射 txt
  • 如何立即开始执行 Kotlin 协程

    我想立即启动一个协程 我有一段代码 class SampleActivity AppCompatActivity CoroutineScope private var job Job Job override val coroutineCo
  • 64位版本的adb和fastboot?

    我在 Debian 7 3 x64 已完全修补 上发现了以下错误 我很确定这是因为adb即使在其 SDK 工具的 64 位发行版中也是 32 位 which adb opt android sdk platform tools adb op
  • 使用 SharedPreferences 从 ListView 保存数据

    我尝试寻找答案 但找不到我要找的东西 这是我第一次尝试保存数据 使用 SharedPreferences 所以我不太确定我在做什么 要点是 用户在 EditText 中输入内容后 它会填充 ListView 但我也希望这样 当执行此操作时
  • Android 模拟器无法与 Xamarin/Visual Studio Mac 配合使用

    你好 我真的很难让 Android 模拟器在我的 Mac 上运行 我需要采取哪些步骤才能使其正常工作 我在 MacOS Catalina 上安装了 Visual Studio 2019 这是一个新的空白 Xamarin Forms 项目 我
  • 使用 IntentService 使用 Camera2 拍照

    我正在尝试创建一个可以拍照但不显示预览的应用程序 使用本教程 https www youtube com watch v oPu42I0HSi4 https www youtube com watch v oPu42I0HSi4如果我使用和
  • 无法将库添加到我的 Android 项目

    我正在创建一个新应用程序 我想使用一些像这样的库 https github com JakeWharton Android ViewPagerIndicator https github com JakeWharton Android Vi
  • Ctrl 单击 Eclipse 中的类显示二进制/jar 而不是源

    使用Eclipse 版本 Helios 服务版本 2 内部版本号 20110218 0911 与Android插件 我有一个 Android 项目 AndroidUtil 它被标记为我的主要 Android 应用程序的 库 项目 当我按住
  • 查找 ImageView 相对于其显示的图像的位置

    所以问题就在这里 我在 ImageView 中显示一个大图像 需要找到它相对于图像的位置 像这样 Image gt ImageView
  • Android Studio安装JDK错误

    In Android Studio I am facing bellow error 当我按下时会显示此弹出窗口Alt Enter对于缺少的类 符号 当我点击 setup SDK 时 它显示两个选项 1 8 Java版本 1 8 0 60
  • popBackStack导致反复调用fragment的oncreateView

    我有 3 个片段 A B C 我编写了一段代码来替换它们并维护 backstack public void addFragment Fragment fragmentToAdd String fragmentTag FragmentMana
  • 为什么这个位图图像在加载后会改变大小?

    快速提问 我有这个1000 1000位图图像 我使用这个例程来加载它 private BitmapSource initialBitmap new BitmapImage new Uri C Users Desktop Original b
  • 在 Android(JB 上)中,如何向自定义丰富通知添加操作?

    我一直在使用 Jelly Bean 中新的丰富通知 当我使用模板设置新通知时 一切都按预期工作Notification BigPictureStyle Notification BigTextStyle or Notification In
  • 如何在 Android 中通过 gradle 列出 buildConfig 中的所有类型

    这是一个简单的 gradle 具有三种风格 apply plugin com android application android compileSdkVersion 23 buildToolsVersion 23 0 2 default
  • Android 通知上有按钮

    我正在尝试使用 2 个按钮发出通知 一个带我回到活动 另一个将其关闭 有谁知道如何捕获按钮单击事件 请记住活动已暂停 我很高兴发布它 经过一夜的工作 我发现了一些东西 那么 我们开始吧 1 为您的通知创建 xml 布局文件 2 使用Noti
  • 在活动之间共享菜单栏

    我的应用程序上有一个菜单栏 我需要在 5 个活动之间共享该菜单栏 我的菜单栏 5 个允许在活动之间切换的按钮 对于任何活动具有完全相同的 UI 和相同的行为 因此我想共享菜单栏 XML 视图代码和控制器代码 我已经找到了一种使用共享 XML
  • iOS:如何实现像Android的startActivityForResult这样的行为

    我是一名 Android 开发人员 正在开发我们应用程序的 iOS 版本 我需要知道如何在 Android 上实现类似于 startActivityForResult 的行为 我需要显示一个新的视图控制器 然后在新的视图控制器关闭时将控制权

随机推荐

  • symfony2 中不存在变量

    我的 symfony2 项目遇到以下问题 这是我的控制器的代码 public function showCustomerAction id retrieve the customer from the database em this gt
  • 如何删除SASS字符串中的空格?

    SASS 中是否有一个字符串函数可以删除字符串中的空格 例如 我想使用变量 带空格的字符串 来指定资源图像文件 不带空格的名称 就像是 str var The White Lion mixin bg img name background
  • 从 post-receive 挂钩更新 Git 子模块

    我正在尝试自动更新我的子模块位于var www php vendor projectX在每次提交时var www超级项目 我在中添加了这些行 git hooks post receive file bin sh echo Updating
  • 如何将 JSF 组件居中对齐

    在我的 JSF 2 Primefaces 3 Web 应用程序中 我使用
  • Swift Playground 中的 CABasicAnimation

    一直在疯狂地尝试在 Swift Playground 中实时查看动画 就像 WWDC Swift Playgrounds 视频中那样 我尝试做一个UIView animateWithDuration运气不好 所以我现在尝试做一个 CABas
  • extjs 4.2 中的文件上传无需 form.submit()

    我正在尝试在 extjs 中上传文件 截至目前任何扩展名 我有一个模型和商店 文件上传是从窗口中进行的 而窗口中没有表单 我在网上尝试过的所有示例都是使用 form submit 的 我改为使用 Ajax 调用 如下所示 将数据发送到服务器
  • 删除单词之间的重复字符

    我正在尝试以下测验正则表达式101 任务 6 中的问题是 不好了 昨晚我的朋友们似乎把啤酒洒在了我的键盘上 现在我的按键变得非常粘 有时 当我按下一个键时 我会得到两个重复的值 你能p吗ppllleaaaseee帮我解决这个问题吗 粗体内容
  • 如何在 Tkinter 中反转导入图像的 y 轴?

    对于重复标记 我完全知道有一些类似的问题matplotlib 例如this one 我的问题是about Tkinter not matplotlib 我现在将 Lena 导入 python 并在她的帽子上画一个绿点 In 72 from
  • D3 - 大型 GeoJSON 文件无法使用投影正确显示绘制地图

    我在绘制从 data seattle gov 获取的 GeoJSON 文件时遇到问题 具体来说 我正在使用可以找到的形状文件here 我将其转换为 GeoJSON 文件 我在下面提供了一个小示例 通过使用 D3 我希望画出西雅图的不同区域
  • 对于主要包含阿拉伯文本的网页,我应该使用什么字符编码? utf-8可以吗?

    对于主要包含阿拉伯文本的网页 我应该使用什么字符编码 utf 8可以吗 UTF 8 可以存储完整的 Unicode 范围 因此适合用于阿拉伯语 但是 如果您想知道哪种编码最有效 所有阿拉伯字符都可以使用单个 UTF 16 代码单元 2 个字
  • 找不到满足要求的版本

    我使用以下命令在 Ubuntu 12 04 中安装多个 Python 包requirements txt file numpy gt 1 8 2 lt 2 0 0 matplotlib gt 1 3 1 lt 2 0 0 scipy gt
  • 倒数计时器取消()不工作

    我是 Android 开发新手 正在尝试制作小游戏 CountDownTimer cancel 不适合我 任何想法 谢谢您的回答 CountDownTimer cdt new CountDownTimer 120000 1000 publi
  • MVVM WPF 中的错误窗口显示模态

    我已将 MVVM 错误消息实现为消息对话框 通过中介类订阅错误消息 以便其他视图模型可以在发生任何错误时通知它 当发生错误时 我将视图模型中的可见性属性设置为Visible 以显示错误窗口 这全部绑定在视图模型的错误窗口中 然而 这个窗口不
  • 带边框的方形 div。只显示角点[重复]

    这个问题在这里已经有答案了 我有一个在我的网站上使用的播放器 我想更改播放按钮的外观 我想用虚线边框来做到这一点 然后增加破折号之间的空间 那行不通 我无法使用图像 有没有CSS 3 解决方案 我希望它看起来像这样 这真的都是关于角落的 更
  • C# 结构体在声明为函数的返回值时是否会被装箱?

    一个简单的问题 但我在 Stack Overflow 上没有找到明确的答案 struct MyStruct int x y z MyStruct GetMyStruct gt new MyStruct static void Main va
  • 如何停止 C# winforms 闪烁

    我有一个程序 本质上就像一个绘画应用程序 但是 我的程序存在一些闪烁问题 我的代码中有以下行 应该消除闪烁 但没有 this SetStyle ControlStyles AllPaintingInWmPaint ControlStyles
  • MySQL 更新花费(太)长时间

    在我们的服务出现预期的增长之后 突然有些更新需要非常长的时间 这些更新过去非常快 直到表达到大约 2MM 记录 现在每个更新大约需要 40 60 秒 update table1 set field1 field1 1 where id 22
  • 带有两个文本字段和两个按钮的 UIAlertView

    Problem 我想要一个 UIAlertView 其中包含一个标题 两个带占位符的文本字段和两个按钮 到目前为止我做了什么 我已经使用了这段代码 我得到了精确的 UIAlertView 以及我提到的所有这些 但是当视图加载时 它似乎首先出
  • Mac 应用商店产品构建

    Apple s 有关向 Mac App 商店提交应用程序的文档包含 Developer usr bin 中的命令 Productbuild 的使用示例 productbuild component build Release Sample
  • 从资源中绘制位图到另一个资源上

    我有两个位图 背景 and 前景 如何在不使用其他画布的情况下在背景上绘制位图前景 解决方案 1 首先使用附加选项 ARGB 8888 从资源创建位图 BitmapFactory Options options new BitmapFact