Android 图片平铺实现方式

原创 2013年12月04日 19:16:41

Android 图片平铺实现方式

Android 框架允许创建一个 drawable 包含一个 bitmap 并用于平铺、缩放和对齐处理。当我们需要让背景使用下面图片进行平铺时:


 1)第一种利用系统提供的api实现

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);
 

//bitmap = Bitmap.createBitmap(100, 20, Config.ARGB_8888);
BitmapDrawable drawable = new BitmapDrawable(bitmap);
drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
drawable.setDither(true);
view.setBackgroundDrawable(drawable);

tileMode 属性就是用于定义背景的显示模式:

disabled
默认值,表示不使用平铺
clamp
复制边缘色彩
repeat
X、Y 轴进行重复图片显示,也就是我们说要说的平铺
mirror

在水平和垂直方向上使用交替镜像的方式重复图片的绘制



 2)第二种我们使用xml来轻松实现

< bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/img"
android:tileMode="repeat" />


  3)第三种 自己画出来


 public static Bitmap createRepeater(int width, Bitmap src){
int count = (width + src.getWidth() - 1) / src.getWidth();
 
Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);

for(int idx = 0; idx < count; ++ idx){

canvas.drawBitmap(src, idx * src.getWidth(), 0, null);
}
 
return bitmap;
}


最终的平铺效果如下:



注:前两种可能出现BUG,第三种比较实用


Android 图片平铺实现方式

Android 框架允许创建一个 drawable 包含一个 bitmap 并用于平铺、缩放和对齐处理。当我们需要让背景使用下面图片进行平铺时:  1)第一种利用系统提供的api实现 ...
  • oliver102
  • oliver102
  • 2013年08月27日 02:05
  • 567

ios-day15-05(Quartz 2D之一张图片以平铺或者填充的方式设置为UIView的背景、以填充的方式为UIView设置条纹背景)

源码下载地址: 效果图: 图1           图2 图3 核心代码: // // JLViewController.m // 05-条纹背景 // // Created...
  • liu537192
  • liu537192
  • 2015年03月22日 02:04
  • 1017

Android中实现平铺图片

最近开发App,美工设计了一个有锯齿边沿效果的背景图,只给了我一个锯齿,然后需要平铺展示锯齿效果: android中实现平铺图片有两种方式:(1)在drawable中的drawable文件中定义平铺...
  • qq_23547831
  • qq_23547831
  • 2016年02月02日 10:29
  • 2294

UIImageView实现图片平铺

so easy,直接上代码 UIImage *image = [UIImage imageNamed:@"bg_yuandian"]; UIImage *newImage = [UIImage im...
  • IROYCN
  • IROYCN
  • 2016年04月11日 15:40
  • 2377

Android background背景图片平铺

说明: 有一个小图片,然后实现图片背景平铺,这样会就会像html的css一样方便使用了。 方法一: 首先:在res/drawable中创建一个xml文件(background_repeat.xm...
  • u012246458
  • u012246458
  • 2017年02月13日 18:26
  • 1039

android 图片水平重复平铺(repeat x)

《=用来重复显示的图 1.最简单方式 创建wave_repeat.xml xml version="1.0" encoding="utf-8"?> bitmap xmlns:a...
  • linsen618
  • linsen618
  • 2014年11月10日 22:29
  • 2669

使用一个小图片tile平铺到ImageView中或Activity背景

方法两种: 首先必须在res/drawable目录下包含一个background.jpg 方法1:在res/drawable中创建一个xml文件(background_repeat.xml)    ...
  • ajieyxw
  • ajieyxw
  • 2011年08月07日 16:29
  • 8222

HTML5 canvas 平铺的几种方法

最近在做个网站项目,用到很多canvas,有个需求是drawImage把图片画在canvas里面,图片比较小,需要平铺效果,当背景图。PS(背景图高宽10px,需要画的画布高宽200px) 由于一开始...
  • ZuoSaXianSheng
  • ZuoSaXianSheng
  • 2017年04月12日 11:17
  • 988

实现flex中实现图片平铺

  在网页中实现一个图片平铺功能比较简单,只需要设置css样式就可以了。而在Flex中要实现图片的平铺的话,就不那么容易了,具体实现如下:    第一步:设置样式。在mxml页面中设置如下样式。其中,...
  • waden
  • waden
  • 2011年01月04日 16:58
  • 5532

css 背景图片平铺技巧

使用css来设置背景图片同传统的做法一样简单,但相对于传统控制方式,css提供了更多的可控选项,我们先来看看最基本的设置图片的方法。xhtml代码: css代码:#content { border:...
  • mane_yao
  • mane_yao
  • 2010年09月17日 11:02
  • 5073
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 图片平铺实现方式
举报原因:
原因补充:

(最多只允许输入30个字)