1 概述

1.1 编写目的

学习Android图形Bitmap相关的知识,记录下来,方便后续学习及查询。

2 Bitmap图形

Bitmap图形,共有以下属性。

<?xml version="1.0" encoding="utf-8"?>
2.1 Src属性

指向图片资源,不能使用shape、vector等自定义图形。

2.2 Alpha属性

透明度,["0~1" | "255~1"]透明到不透明。

2.3 Antialias属性

开关锯齿,["true" | "false"]。

2.4 AutoMirrored属性

设置图片是否需要镜像反转,当布局方向是RTL,即从右到左布局时才有用。

2.5 Dither属性

抖动,["true" | "false"]。值为“true”时,将在位图的像素配置与屏幕不同时(例如:ARGB 8888 位图和 RGB 565 屏幕)启用位图的抖动;值为“false”时则停用抖动。默认值为 true。


2.6 Filter属性

开关滤镜,["true" | "false"]。

2.7 Gravity属性
重心,["top " |" bottom "| " left "| " right "| " center "| " center_vertical "| " center_horizontal "| " fill "| " fill_vertical "| " fill_horizontal "| " clip_vertical "| " clip_horizontal"]。分别是:顶部、底部、左边、右边、中心、垂直中心、水平中心、填满容器、填满垂直方向、填满水平方向、剪切掉垂直方向多余容器部分、剪切掉水平方向多余容器部分。
2.8 MipMap属性
是否将图片标记为mipmap,使用mipmap能够提高显示性能,默认为false ,["true" | "false"]。
2.9 TileMode属性
TileMode:贴图模式, ["clamp" | "disable" | "repeat" | "mirror"]。
2.9.1 Clamp(边缘填充)

当图片>容器时,图片多余的部分会被截去;当图片<容器时,会复制图片的边缘部分填充空白。

创建my_bitmap.xml(图片宽868、高579):

<?xml version="1.0" encoding="utf-8"?>
效果如下:

 Android图形 - Bitmap_第1张图片

Android图形 - Bitmap_第2张图片

修改my_bitmap.xml为,其它不变:
<?xml version="1.0" encoding="utf-8"?>

效果如下:

Android图形 - Bitmap_第3张图片

修改my_bitmap.xml为(图片宽280、高180):
<?xml version="1.0" encoding="utf-8"?>

效果如下:

Android图形 - Bitmap_第4张图片

2.9.2 Disable(缩放)

图片会根据容器大小进行缩放(默认值),如2.9.1第一图所示。

2.9.3 Repeat(重复填充)
图片会重复填充满容器。但是当图片>容器时,多余部分会被截去。
修改my_bitmap.xml为(图片宽280、高180):
<?xml version="1.0" encoding="utf-8"?>

效果如下:

Android图形 - Bitmap_第5张图片

修改my_bitmap.xml为(图片宽868、高579):
<?xml version="1.0" encoding="utf-8"?>

效果如下:

Android图形 - Bitmap_第6张图片

2.9.4 Mirror(镜像重复填充)
图片会以镜像重复的形式填满容器。同样,当图片>容器时,多余部分会被截去。
修改my_bitmap.xml为(图片宽280、高180):
<?xml version="1.0" encoding="utf-8"?>

效果如下:

Android图形 - Bitmap_第7张图片

修改my_bitmap.xml为(图片宽868、高579):
<?xml version="1.0" encoding="utf-8"?>
效果如下:
  Android图形 - Bitmap_第8张图片
2.10 TileModeX属性

单独控制bitmap的X轴TileMode属性,覆盖TileMode属性。

修改my_bitmap.xml为(图片宽280、高180):
<?xml version="1.0" encoding="utf-8"?>

<?xml version="1.0" encoding="utf-8"?>

效果如下:

Android图形 - Bitmap_第9张图片

2.11 TileModeY属性
单独控制bitmap的Y轴TileMode属性,覆盖TileMode属性,如2.10所示。
2.12 Tint属性
设置着色。
2.13 TintMode属性
着色模式和Tint一起使用,["src_over" | "src_in" | "src_atop" | "screen"| "add"| "multiply"]。下面分别为着色tint="#FF00FF00"和tint="#8800FF00"在各种着色模式下面的效果。
2.13.1 Src_over
Android图形 - Bitmap_第10张图片
Android图形 - Bitmap_第11张图片
2.13.2  Src_in
Android图形 - Bitmap_第12张图片
Android图形 - Bitmap_第13张图片
2.13.3 Src_atop

Android图形 - Bitmap_第14张图片

Android图形 - Bitmap_第15张图片

2.13.4 Screen

Android图形 - Bitmap_第16张图片Android图形 - Bitmap_第17张图片

2.13.5 Add
Android图形 - Bitmap_第18张图片 Android图形 - Bitmap_第19张图片
2.13.6 Multiply
Android图形 - Bitmap_第20张图片 Android图形 - Bitmap_第21张图片

更多相关文章

  1. Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩
  2. Android图片左右切换和拖动大小
  3. Android支持的图片格式
  4. Android——插入图片【ImageView】属性详解
  5. android图片透明度跟缩放大小动画事件
  6. [置顶] 基于ichartjs图形库在android上使用HTML动态实现多数据源

随机推荐

  1. mysql忘记帐号密码 解决办法。
  2. window 下 mysql 启动 二进制日志文件
  3. 获取项目列表的更好方法:缓存序列化数据与
  4. mysql 在当前表中对某一列数据进行计算后
  5. MySQL5.6基于GTID的主从复制
  6. [MySQL高级](七) MySQL主从复制实战
  7. 一分钟完成MySQL5.7安装部署
  8. 在时间戳和相应的值中选择每天的最后一个
  9. 【ERROR】MySQL 1030 Got error 28 from
  10. 在数据库设计中使用用户名作为主键是不是