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 状态保存机制 中 , 存在两个栈结构 , 分别是 状态栈 和 图层栈 ...
最新文章
- 一起谈.NET技术,linq2sql:直接执行sql语句
- iOS - UIPageViewController
- 13-MySQL面向对象设计:数据表与Java对象对应关系
- 计算机软件429修复工具,Soft4Boost Any Uninstaller
- Knight Moves
- 不安装oracle客户端如何用plsql连接oracle
- Codeforces Round #444 (Div. 2) C.Solution for Cube 模拟
- Python并行判断多个大整数是否为素数
- ps aux 和ps -aux和 ps -ef的选择
- 中国移动下一代移动技术将选择LTE
- caffe上手:微调CaffeNet用于车颜色识别
- office 2010 安装
- web打印的最佳方案
- 移动前端开发和web前端开发的区别
- 页面字体颜色的设置及常用颜色的RGB值
- matplotlib.pyplot 标记出曲线上最大点和最小点的位置
- 2020年全球搜索引擎市场份额和全球排名分析
- 高并发累加器 Striped64
- Excel表格设置下拉选项并应用到整列及清除下拉项设置
- 如何禁止win7自动锁屏
热门文章
- JAVA Error: Invalid or corrupt jarfile first_java_project.jar
- Maximum Subrectangle(CodeForces-1060C#513)(预处理优化暴力)
- vsnprintf的陷阱
- 求最大公约数,最小公倍数算法
- Docker部署graylog日志分析系统
- 常见邮件发送失败原因
- Oracle数据库第四课——PL/SQL中的条件控制
- 3年狂揽1.3亿用户,快看漫画如何构建数据体系?
- FPGA硬件加速学习 vivado hls --------------- 002
- 火车站台(赛码)C++ AC