酷站(www.ku0.com)-致力于为互联网从业者提供动力!

热门关键词:  企业  as  baidu  c4rp3nt3r  美女
酷站

【云小站】新老客都返现+现金红包+瓜分60万奖池
酷站

java

旗下栏目: php js asp Flex Ajax JSP jquery asp.net C语言 java 正则表达式 微信小程序 Android IOS

Java实现图片倒影的源码教程

来源:互联网搜集 作者:秩名 人气: 发布时间:2019-09-03
本篇文章主要介绍了Java实现图片倒影的源码教程,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。

把做工程过程常用的一些代码段做个记录,下面代码是关于Java实现图片倒影的的代码,应该对大家有较大用处。





public class ButtonImageActivity extends Activity {
private ImageView image_btn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image_btn=(ImageView)findViewById(R.id.image_btn);
Bitmap bitmap =((BitmapDrawable)getResources().getDrawable(R.drawable.image_btn)).getBitmap();
image_btn.setImageBitmap(createReflectedImage(bitmap));
image_btn.setOnClickListener(new OnClickListener() {
 
public void onClick(View v) {
 
}
});
}
private Bitmap createReflectedImage(Bitmap originalBitmap) { 
final int reflectionGap = 4; 
 
int width = originalBitmap.getWidth(); 
int height = originalBitmap.getHeight(); 
 
Matrix matrix = new Matrix(); 
matrix.preScale(1, -1); 
Bitmap reflectionBitmap = Bitmap.createBitmap(originalBitmap, 0, 
height / 2, width, height / 2, matrix, false); 
Bitmap withReflectionBitmap = Bitmap.createBitmap(width, (height 
+ height / 2 + reflectionGap), Config.ARGB_8888); 
 
Canvas canvas = new Canvas(withReflectionBitmap); 
canvas.drawBitmap(originalBitmap, 0, 0, null); 
 
Paint defaultPaint = new Paint(); 
canvas.drawRect(0, height, width, height + reflectionGap, defaultPaint); 
 
canvas.drawBitmap(reflectionBitmap, 0, height + reflectionGap, null); 
 
Paint paint = new Paint(); 
LinearGradient shader = new LinearGradient(0, originalBitmap.getHeight(), 
0, withReflectionBitmap.getHeight(), 0x70ffffff, 0x00ffffff, 
TileMode.MIRROR); 
paint.setShader(shader); 
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); 
 
canvas.drawRect(0, height, width, withReflectionBitmap.getHeight(), paint); 
 
return withReflectionBitmap; 
} 
}

版权声明:本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 959677720#qq.cn(#换@) 举报,一经查实,本站将立刻删除。
原文链接:https://www.cnblogs.com/anemone/p/11452918.html

相关文章

  • Java实现单人信息管理程序方法

    Java实现单人信息管理程序方法

    对前一个菜单程序进行扩充,要求增加一个人的完整信息,人的信息包括姓名和年龄。保存后也可以修改、删除、查询此信息. 可以使用对象序列化保存,需要增加文件操作类,专门负责保存和读取文件的内容,并修改 Operate 类,为其增加具体的......
    02-13
  • java.mail实现发送邮件方法

    java.mail实现发送邮件方法

    前提条件: 需要对邮箱做出设置,开启 :POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV等服务 一方面是接收这些代理服务器发送的邮件 另一方面就是让邮箱接受这些邮件协议的代理 在登录的时候,就是用户名和授权码,进行登录,获取授权码的过......
    02-11
  • Linux中Java开发常用软件安装方法

    Linux中Java开发常用软件安装方法

    开发工具下载: Tomcat下载: wget http://learning.happymmall.com/tomcat/apache-tomcat-7.0.73.tar.gz JDK下载: wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64......
    02-07
  • 基于java向mysql数据库中存取图片

    基于java向mysql数据库中存取图片

    学mysql的时候都是做个表格,放的也都是文字内容,虽然我知道长篇的文章和图片或者视频的都是用过文件夹的方式存储的,再讲文件路径存进数据库中。但还是想试试直接往mysql数据库中存取图片。这里我用的是java语言和jdbc实现的 mysql数据......
    02-05
  • Jmeter添加循环控制器的方法

    Jmeter添加循环控制器的方法

    场景描述:批量数据创建 新建线程组-编辑请求信息POST,创建产品 将入参录入Body Data 添加用户定义的变量,将数据参数化${value},在请求入参中引用 循环控制器应该控制的是多次请求,生成批量产品数据,添加循环控制器,设置循环次数,......
    02-03
  • linux中java获取路径的代码

    linux中java获取路径的代码

    linux中java获取路径怎么写? 在Unix/Linux中,路径的分隔采用正斜/,比如cd /home/java。 在java的代码开发中 \ 是代表转义字符。 相对路径和绝对路径 . 指的是当前目录 .. 指的是当前目录的上一级目录 ./book表示当前目录下的book文件......
    02-03
  • Java中的强制类型转换 大数转小数的介绍

    Java中的强制类型转换 大数转小数的介绍

    首先要明确一下转换规则:大数转小数,多出的高位部分会被截断。比如 int 占 4个byte(32 bit), byte占 1个byte(8bit), 那int 转 byte ,int 高位多出的那24个bit会被截断。 例1: int b = 233; // 正整数强转System.out.println((byte)b);......
    02-02
  • Java递归求和1+2+3+...+n介绍

    Java递归求和1+2+3+...+n介绍

    Java递归求和1+2+3+...+n public class Sum { public static int count(int n) { if (n 1) { return count(n - 1) + n; } else { return n; } } public static void main(String[] args) { System.out.println(Sum.count(100)); }} 扩展......
    01-31
  • Mybatis批量插入数据返回主键的介绍

    Mybatis批量插入数据返回主键的介绍

    响应效果(id为主键): { data: [ {studentName: 张三,classNo: 一班,id: 111}, {studentName: 李四,classNo: 二班,id: 112}, {studentName: 王五,classNo: 一班,id: 113} ]} 控制层: @PostMapping(/test)@ResponseBodypublic MapStrin......
    01-21
  • java实现波雷费密码算法

    java实现波雷费密码算法

    一、算法描述 波雷费密码是一种对称式密码,是首种双字母取代的加密法。 下面描述算法步骤: 1、从1号二维码M05,提取明文信息和密文,M05格式:xxxxxx|yyyyyy,其中明文xxxxxx,密钥部分信息为yyyyyy中的提取所有英文字母信息。 2、将提......
    01-18

最新更新