先看下效果图:

import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.LinearGradient; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.PorterDuff.Mode; import android.graphics.PorterDuffXfermode; import android.graphics.Shader.TileMode; import android.os.Bundle; import android.widget.ImageView; public class PicActivity extends Activity { final int reflectionGap = 4; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.picture); ImageView imageView = (ImageView) findViewById(R.id.pic); Bitmap originalImage = BitmapFactory.decodeResource(this .getResources(), R.drawable.car); int width = originalImage.getWidth(); int height = originalImage.getHeight(); Matrix matrix = new Matrix(); //matrix.setRotate(30); matrix.preScale(1, -1); Bitmap reflectionImage = Bitmap.createBitmap(originalImage, 0, height / 2, width, height / 2, matrix, false); Bitmap bitmapWithReflection = Bitmap.createBitmap(width, (height + height / 2), Config.ARGB_8888); Canvas canvas = new Canvas(bitmapWithReflection); canvas.drawBitmap(originalImage, 0, 0, null); Paint deafaultPaint = new Paint(); // 抗锯齿的方法 // deafaultPaint.setAntiAlias(true); canvas.drawRect(0, height, width, height + reflectionGap, deafaultPaint); canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null); Paint paint = new Paint(); // 抗锯齿的方法 // paint.setAntiAlias(true); //线性渐变 LinearGradient shader = new LinearGradient(0, originalImage.getHeight(), 0, bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP); paint.setShader(shader); paint.setXfermode(new PorterDuffXfermode(Mode.DARKEN)); canvas.drawRect(0, height, width, bitmapWithReflection.getHeight() + reflectionGap, paint); imageView.setImageBitmap(bitmapWithReflection); } }

ImageView倒影效果相关推荐

  1. Android进阶2之图片倒影效果 .

    先来个效果图看看. 他是怎么样实现的呢?其实很简单! 第一:利用Matrix矩阵来实现图片的旋转. 第二:利用旋转后的图片创建一个位图reflectionImage,宽度不变,高度是原始图片的一般(自 ...

  2. java水面倒影效果,Java实现图片倒影代码详解

    /*实现图片倒影(tested)*/ public class ButtonImageActivity extends Activity { /** Called when the activity ...

  3. android 图形平移 镜子效果 倒影效果

    图形平移 setTranslate(1.5f,-10); 镜子效果 matrix.setScale(-1, 1); matrix.postTranslate(bmp.getWidth(),0); 倒影 ...

  4. Android进阶2之图片倒影效果

    先来个效果图看看. 他是怎么样实现的呢?其实很简单! 第一:利用Matrix矩阵来实现图片的旋转. 第二:利用旋转后的图片创建一个位图reflectionImage,宽度不变,高度是原始图片的一般(自 ...

  5. Android:实现图片的倒影效果

    本文章主要参考来自于:http://blog.csdn.net/ithomer/article/details/7483169(谢谢IT-Homer的分享!) 本文章根据自己的需要做了点小小的修改,如 ...

  6. iOS图片倒影效果的2种实现

    实现一 使用一个继承自UIView的类来包含要实现倒影效果的图片,重写这个UIView子类的绘图方法,以实现图片于倒影, 然后把这个View 添加到相应的地方显示. 代码: CKReflectionI ...

  7. ImageView 常用属性的分析

    最近在图片上犯了迷糊,在礼拜天抽出时间把属性一个一个 试了一遍,在这里和大家分享一下 ImageView的属性: android:src 用于显示图片 android:maxWidth="& ...

  8. Android应用系列:完美运行GIF格式的ImageView(附源码)

    前言 我们都知道ImageView是不能完美加载Gif格式的图片,如果我们在ImageView中src指定的资源是gif格式的话,我们将会惊喜的发觉画面永远停留在第一帧,也就是不会有动画效果.当然,经 ...

  9. Android控件之ImageView探究

    ImageView控件是一个图片控件,负责显示图片. 以下模拟手机图片查看器 目录结构 main.xml布局文件 <?xml version="1.0" encoding=& ...

最新文章

  1. Spring JdbcTemplate方法详解
  2. 通过ID在JavaScript对象数组中查找对象
  3. 咕咚技术总监唐平麟:神策使我们的数据平台成本降低约 75%,迭代效率提升 2~3 倍...
  4. jquery.zSlide.js-基于CSS3/HTML5演示文档jQuery插件
  5. 利用python计算偏差-方差权衡
  6. React Native之函数作为参数传递给另外一个函数去调用
  7. android 模仿uc标签页,模仿UCweb菜单 - 白羽雕弓 - 博客园
  8. Linux 查看进程之PS命令
  9. Yarn分布式集群操作系统
  10. spark checkpoint
  11. 2021-06-28操作表单
  12. 19、删除链表的倒数第N个节点(python)
  13. linux shell命令行与脚本编程---处理输入输出
  14. 解决Mac电脑无法读写ntfs硬盘分区的方法以及磁盘读写的简单方法
  15. 只允许输入数字,英文字母,符号(密码)
  16. Velero备份实战 - 基于Ceph的CSI快照
  17. 通用商城系统V5.0
  18. Linux账户管理详解
  19. 期权、期货及其他衍生产品 第一章 课程笔记整理
  20. c语言魂斗罗小游戏代码,(搬运)魂斗罗系列游戏秘籍(包含一些解锁要数)

热门文章

  1. 操作系统【三】内存管理基础+连续内存分配
  2. HDU1573-模线性方程
  3. Vivado工程文件分类
  4. java环境变量的配置与详解,这些知识你必须拿下
  5. java----连接池C3p0使用的补充
  6. Es6常用方法filter
  7. Java Statement PK PrepareStatement
  8. Eclipse 构建Maven项目
  9. 如何在MATLAB下把模糊推理系统转化为查询表(转载)
  10. 自定义注解与validation结合使用案例