从零開始学android<Bitmap图形组件.四十七.>
2023-09-11 14:14:43 时间
android.graphics.Bitmap(位图)是Android手机中专门提供的用于操作图片资源的操作类,使用此类能够直接从资源文件之中进行图片资源的读取。而且对这些图片进行一些简单的改动。
经常使用的方法
1
|
public static Bitmap createBitmap (Bitmap src)
|
普通
|
复制一个Bitmap
|
2
|
public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)
|
普通
|
对一个Bitmap进行剪切
|
3
|
public final int getHeight()
|
普通
|
取得图像的高
|
4
|
public final int getWidth()
|
普通
|
取得图像的宽
|
5
|
public static Bitmap createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter)
|
普通
|
创建一个指定大小的Bitmap
|
接下来用简单的样例来进行说明
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 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" tools:context=".MainActivity" > <com.example.bitmap1.MyView android:layout_width="wrap_content" android:layout_height="wrap_content"> </com.example.bitmap1.MyView> </RelativeLayout>
package com.example.bitmap1; import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
package com.example.bitmap1; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.view.View; public class MyView extends View { public MyView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub // 获取图片文件 Bitmap bitmap = BitmapFactory.decodeResource(super.getResources(), R.drawable.a4); // 设置背景画布颜色 canvas.drawColor(Color.WHITE); // 初始化画笔 Paint paint=new Paint(); // 设置边缘羽化 paint.setAntiAlias(true); // 绘制图片 canvas.drawBitmap(bitmap, 0, 0,paint ); // 设置画笔颜色 paint.setColor(Color.BLUE); // 设置字体尺寸 paint.setTextSize(20); // 绘制文字 canvas.drawText("我的头像", 10, bitmap.getHeight()+20, paint); } }
尽管有点丑。可是绘制的还不错。对bitmap的操作还有很多,大家能够參照api自行进行学习,图形的绘制在游戏和APP引导用的比較多
下节预报:Mediaplayer自带播放器
相关文章
- [Android]中文API(三)android.account包下的那些类
- android中include和merge标记
- [android] No resource found that matches the given name 'Theme.AppCompat.Light'
- Android开源项目第一篇——个性化控件(View)篇
- [Android Pro] 完美解决 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
- [Android Memory] Android Lint简介(转载)
- 【原】常见CSS3属性对ios&android&winphone的支持
- android自定义属性
- android最火的开源项目
- Android 开发之旅:深入分析布局文件&又是“Hello World!”
- android 编程时,如何在Eclipse中查看Android源码或者第三方组件包源码
- Android之MessageQueue、Looper、Handler与消息循环
- OpenGL—Android 开机动画源码分析一
- 《android开发艺术探索》读书笔记(十五)--Android性能优化
- 【Android】android镜像翻转
- 【Android】android studio ndk使用例子
- Android音视频开发学习路线+项目实战+源码解析(WebRTC Native 源码、X264源码、FFmpeg、Opus源码.....)
- Android 屏幕方向相关,setRequestedOrientation,OrientationEventListener
- Android SQLtie获取一张表是否存在
- android 12.0 删除连接wifi的配置信息
- Android NDK调试出错Unknown Application ABI, Unable to detect application ABI's的解决方式
- 【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )
- 【错误记录】Android Studio 编译报错 ( The minCompileSdk (33) specified in a dependency‘s AAR metadata META-I )
- 【Android 逆向】整体加固脱壳 ( DexClassLoader 加载 dex 流程分析 | DexPathList 构造函数分析 | makeDexElements 函数分析 )
- 【Android 插件化】VirtualApp 源码分析 ( 安装应用源码分析 | HomePresenterImpl 添加应用 | AppRepository.addVirtualApp )
- 【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )
- 【Android】android图片轮播
- Android源码编译FFmpeg4.0.2单独so库for Android(验证可用)
- Android官方源码&&资料&&博客
- Android音量调节
- Android实现动态改变屏幕方向(Landscape & Portrait)
- android studio的报错提示:Library projects cannot set applicationId
- android studio kotlin 编译的报错提示::app:stripDebugDebugSymbols