android 多个canvas,如何使用Canvas在Android中合并两个图像?
我想通过重叠创建具有两个不同图像的组合图像.
为此,我的代码是
ImageView image = (ImageView) findViewById(R.id.imageView1);
Drawable drawableFore = getResources().getDrawable(R.drawable.foreg);
Drawable drawableBack = getResources().getDrawable(R.drawable.backg);
Bitmap bitmapFore = ((BitmapDrawable) drawableFore).getBitmap();
Bitmap bitmapBack = ((BitmapDrawable) drawableBack).getBitmap();
Bitmap scaledBitmapFore = Bitmap.createScaledBitmap(bitmapFore, 35, 35, true);
Bitmap scaledBitmapBack = Bitmap.createScaledBitmap(bitmapBack, 45, 45, true);
Bitmap combineImages = overlay(scaledBitmapBack, scaledBitmapFore);
image.setImageBitmap(combineImages);
overlay()方法是
public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2)
{
try
{
Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
Canvas canvas = new Canvas(bmOverlay);
canvas.drawBitmap(bmp1, new Matrix(), null);
canvas.drawBitmap(bmp2, 0, 0, null);
return bmOverlay;
} catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
return null;
}
}
情况1:在这种情况下,overlay方法返回null.
案例2:但是当我切换图像时,我使用背景图像设置前景,前景图像设置为背景,然后代码工作正常.
但我希望第一种情况应该正常,但事实并非如此.
我不明白为什么会发生这种情况.
请帮忙
android 多个canvas,如何使用Canvas在Android中合并两个图像?相关推荐
- android自定义videoview,android-如何在播放前在videoview中设置预览图像
android-如何在播放前在videoview中设置预览图像 我在活动中创建了VideoView,下面是代码. VideoView vvVideos = (VideoView) rootView.f ...
- android 两个imageview重叠,在android中覆盖两个图像以设置imageview
您可以使用以下代码解决问题或在此处下载演示 创建两个函数来处理每个函数. 首先,绘制画布,并从点(0,0)将图像绘制在彼此之上 单击按钮public void buttonMerge(View vie ...
- Android 动态修改app名称(市场和手机中显示两个不同的名称)
默默接了一个黑科技的需求,需要在应用市场上,显示后缀,而手机上是应用原名(为了增加app的关键字搜索). 有些应用市场在你上传包后,是可以在后台修改app的显示名称的,例如下图: 但是有些市场是不能修 ...
- mono for android定义,2.1.3 使用Mono for Android的原因
2.1.3 使用Mono for Android的原因 假设Android平台有一个以Java为基础的公开的开发堆栈作为可视化开发环境,那么就有理由要问为什么还需要Mono for Android. ...
- android canvas bitmap matrix,Canvas API详解(Part 3)Matrix和drawBitmapMash
本节引言:在Canvas的API文档中,我们看到这样一个方法:drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint) 这个Matrix可是有大文章的 ...
- android canvas 画圆边缘模糊,Android canvas画圆
布局 android:id="@+id/ballView2" android:layout_width="match_parent" android:layou ...
- Android 高级UI解密 (三) :Canvas裁剪 与 二维、三维Camera几何变换(图层Layer原理)
Android的绘图机制是核心内容之一,无论是什么样的功能最终都是以图像的形式呈现给用户.因此掌握Android的绘图技巧,有助于Android理解层次的提高,在面对产品经理提出的idea时也更有底气 ...
- 【Android】自定义View、画布Canvas与画笔Paint
安卓自定义View其实很简单.这个View可以像<[Android]利用Java代码布局,按钮添加点击事件>(点击打开链接)一样,利用Java代码生成一系列的组件.也可以配合画布Canva ...
- 【Android UI】Canvas 画布 ① ( Canvas 状态栈 | Canvas 状态栈入栈与出栈 | 获取 Canvas 状态栈容量 | Canvas 状态栈原点数据 )
文章目录 一.Canvas 状态栈入栈与出栈 二.获取 Canvas 状态栈容量 三.Canvas 状态栈原点数据 Canvas 状态保存机制 中 , 存在两个栈结构 , 分别是 状态栈 和 图层栈 ...
最新文章
- e2e测试框架之Cypress
- Swift—初始 (1)
- 假设一个半衰期为0的对象
- java后端开发每天遇到的jsp,了解一下
- SwiftUI之深入解析如何定制视图的动画和转场
- SecureCRT密钥key远连接程ssh证书登录Linux
- 大数据学习笔记37:Hive - 复杂数据类型
- 【易语言】贴吧工具源码 以前写的
- XML Drawable
- Win10电脑如何打开任务管理器界面
- c++客户端 grpc_grpc加TLS加密和令牌认证
- Maven依赖下载速度慢,不用怕,这么搞快了飞起
- 波特率 and 比特率,傻傻分不清楚
- Java工程师成神之路(2018修订版)
- Caused by: java.lang.SecurityException: Neither user 10068 nor current process has android.permissio
- C# winform excel根据当前选中内容,自动插入/编辑批注
- Storm集成HBase、JDBC、Kafka、Hive测试
- 桌面路径改到D盘的目录下
- 前人铺路系列组件hevue-img-preview 2.5更新,增加键盘控制,节流,图片加载等待等,来看看有没有你可以借鉴的思路或功能
- 入耳式监控系统的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
热门文章
- win7系统卸载补丁包更新的解决方法【系统天地】
- Berkeley 二十年 UNIX 历史
- java开发沙箱环境_java支付宝开发-01-沙箱环境接入
- mac - MAC电脑安装Mysql服务器和Navicat for mysql客户端
- JSLint JSHint ESLint的区别
- 用Scala语言连接HBASE
- java线程(2)——模拟生产者与消费者
- 深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)
- root user guide_教你冻结安卓手机自带不用的APP,无需ROOT
- 【转】MMO即时战斗:地图角色同步管理和防作弊实现