iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >canvas drawBitmap方法怎么样在Android项目中使用
  • 157
分享到

canvas drawBitmap方法怎么样在Android项目中使用

androidcanvasdrawbitmap 2023-05-31 13:05:20 157人浏览 泡泡鱼
摘要

这篇文章给大家介绍 canvas drawBitmap方法怎么样在Android项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 Android canvas drawBitmap方法详解及实例之前自

这篇文章给大家介绍 canvas drawBitmap方法怎么样在Android项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

 Android canvas drawBitmap方法详解及实例

之前自己在自定义view,用到canvas.drawBitmap(Bitmap, SrcRect, DesRect, Paint)的时候,对其中的第2和3个参数的含义含糊不清。看源码函数也没理解,然后看了一些其他的博客加上自己的理解,整理如下。首先,我们看一张图片,今天就要绘制这张图片。

canvas drawBitmap方法怎么样在Android项目中使用

然后将图片用红色的线条分成4个部分,如下:


canvas drawBitmap方法怎么样在Android项目中使用

我们自定义一个View,代码如下:

public class PoterDuffLoadingView extends View { private Resources mResources; private Paint mBitPaint; private Bitmap mBitmap; private int mTotalWidth, mTotalHeight; private Bitmap girlBitmap; private int girlBitWidth , girlBitHeight; private Rect girlSrcRect , girlDesRect; public PoterDuffLoadingView(Context context) {  super(context);  mResources = getResources();  initBitmap(); } private void initBitmap() {  //美女图片的宽和高  girlBitmap = ((BitmapDrawable)mResources.getDrawable(R.drawable.a1)).getBitmap();  girlBitWidth = girlBitmap.getWidth();  girlBitHeight = girlBitmap.getHeight(); } @Override protected void onDraw(Canvas canvas) {  super.onDraw(canvas);  canvas.drawBitmap(girlBitmap, girlSrcRect, girlDesRect, null); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {  super.onMeasure(widthMeasureSpec, heightMeasureSpec); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) {  Log.d("xxxxxx", "onSizeChanged , w = "+w+" , h = "+h+" , mBitWidth = "+mBitWidth+" , mBitHeight = "+mBitHeight);  super.onSizeChanged(w, h, oldw, oldh);  mTotalWidth = w;  mTotalHeight = h;  girlSrcRect = new Rect(0, 0, girlBitWidth, girlBitHeight);  girlDesRect = new Rect(0, 0, girlBitWidth, girlBitHeight); }}

--结束END--

本文标题: canvas drawBitmap方法怎么样在Android项目中使用

本文链接: https://www.lsjlt.com/news/225950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • canvas drawBitmap方法怎么样在Android项目中使用
    这篇文章给大家介绍 canvas drawBitmap方法怎么样在Android项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 Android canvas drawBitmap方法详解及实例之前自...
    99+
    2023-05-31
    android canvas drawbitmap
  • Android canvas drawBitmap方法怎么使用
    Android中的Canvas类提供了一个drawBitmap()方法来绘制位图。该方法有多个重载,具体使用方式如下:1. 绘制完整...
    99+
    2023-08-11
    Android
  • html.fromhtml方法如何在Android项目中使用
    这篇文章给大家介绍html.fromhtml方法如何在Android项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android中html.fromhtml  在android中,有一个容易遗忘的H...
    99+
    2023-05-31
    android html.fromhtml roi
  • ViewDragHelper怎么在Android项目中使用
    本篇文章为大家展示了 ViewDragHelper怎么在Android项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ViewDragHelper是support.v4下提供的用于处理拖拽滑...
    99+
    2023-05-30
    android viewdraghelper
  • ContentProvider怎么在Android项目中使用
    ContentProvider怎么在Android项目中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、概念及说明ContentProvider定义:内容提供者是一个An...
    99+
    2023-05-31
    android contentprovider roi
  • listfragment怎么在Android项目中使用
    本篇文章给大家分享的是有关listfragment怎么在Android项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、fragment简介我对fragment的理解...
    99+
    2023-05-31
    android listfragment roi
  • unmodifiableList方法怎么在java项目中使用
    本篇文章给大家分享的是有关unmodifiableList方法怎么在java项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。java对象中primitive类型变量可以...
    99+
    2023-05-31
    java unmodifiablelist ava
  • dumpsys命令怎么在Android项目中使用
    今天就跟大家聊聊有关dumpsys命令怎么在Android项目中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Android手机上, 通过使用adb shell命令可以进入an...
    99+
    2023-05-31
    android dumpsys sys%
  • 浅析Angular项目中使用 SASS 样式的方法
    SASS 提供了两种编写的语法,一种是 .scss 为后缀,另一种是 .sass 为后缀。.scss 为后缀,语法用 {} 修饰.sass 为后缀,语法是缩紧方式推荐使用 .scss项目集成angular 项目使用脚手架生成,在添加样式这一...
    99+
    2022-11-22
    Angular
  • 在Android项目中使用Studio怎么实现引用Library
    本篇文章为大家展示了在Android项目中使用Studio怎么实现引用Library,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、引用Library选择你的项目,点击导航栏File -->...
    99+
    2023-05-31
    android studio library
  • dismiss()与cancel()方法在Android项目中有什么不同
    本篇文章给大家分享的是有关dismiss()与cancel()方法在Android项目中有什么不同,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. public void c...
    99+
    2023-05-31
    android dismiss() cancel()
  • Android中库项目的使用方法图文介绍
    在软件开发过程中,程序代码的复用,是非常重要的概念。我们总是需要使用一些现有的模块、包、框架,或开发自己的模块、包、框架,来实现对程序代码的复用。比如在JavaWeb编程过程中...
    99+
    2022-06-06
    方法 Android
  • hashcode方法如何在Java项目中使用
    这篇文章给大家介绍hashcode方法如何在Java项目中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Obje...
    99+
    2023-05-30
    java hashcode
  • object方法如何在java项目中使用
    这篇文章将为大家详细讲解有关object方法如何在java项目中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。正则: “.”和"\""."点儿,在...
    99+
    2023-05-31
    java object ava
  • readResolve()方法如何在java项目中使用
    本篇文章为大家展示了readResolve()方法如何在java项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。    readResolve方法是作用是什么?这个方法跟...
    99+
    2023-05-31
    java resolv readresolve()
  • html5中canvas方法怎么使用
    这篇文章主要介绍“html5中canvas方法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“html5中canvas方法怎么使用”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • vue项目中怎么使用canvas实现截图功能
    本文小编为大家详细介绍“vue项目中怎么使用canvas实现截图功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue项目中怎么使用canvas实现截图功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。实现效...
    99+
    2023-07-02
  • Object toString方法如何在Java项目中使用
    今天就跟大家聊聊有关Object toString方法如何在Java项目中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、Object类介绍 Object类在Java...
    99+
    2023-05-31
    object tostring java
  • JFinal getModel方法如何在java项目中使用
    今天就跟大家聊聊有关JFinal getModel方法如何在java项目中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JFinal getModel方法(从页面表单中获取Mod...
    99+
    2023-05-31
    java jfinal getmodel
  • 在 React 项目中全量使用 Hooks的方法
    目录前言React HooksuseStateuseReducer基础用法进阶用法useContextuseEffectuseLayoutEffectuseRefuseImperat...
    99+
    2022-11-13
    React使用 Hooks  React 项目使用 Hooks
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作