Java实现图片倒影的源码实例内容

作者:anemone27 时间:2022-08-30 02:39:24 

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

Java实现图片倒影的源码实例内容

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;
}
}

来源:https://www.cnblogs.com/anemone/p/11452918.html

标签:Java,图片倒影,源码
0
投稿

猜你喜欢

  • SpringMVC一步到位精通拦截器

    2023-11-25 01:47:45
  • Java实例讲解动态代理

    2023-03-21 22:56:45
  • Java程序员必须知道的5个JVM命令行标志

    2023-11-11 15:30:36
  • Springboot使用redis实现接口Api限流的示例代码

    2023-11-29 02:11:05
  • 浅谈Java(SpringBoot)基于zookeeper的分布式锁实现

    2023-11-16 08:14:56
  • 解决spring boot启动扫描不到自定义注解的问题

    2023-10-29 14:31:48
  • Mybatis的几种传参方式详解

    2021-12-08 15:35:53
  • 详解Spring Cloud Eureka多网卡配置总结

    2023-11-09 07:33:15
  • Java裁剪压缩PNG图片,透明背景色变黑的解决方案

    2023-11-25 13:21:27
  • 简单探索 Java 中的惰性计算

    2023-11-16 20:25:28
  • 使用JavaWeb webSocket实现简易的点对点聊天功能实例代码

    2023-10-29 00:14:17
  • 教你如何监控 Java 线程池运行状态的操作(必看)

    2023-02-09 04:34:13
  • MyBatis框架迭代器模式实现原理解析

    2021-08-07 13:56:00
  • VScode 打造完美java开发环境最新教程

    2023-02-24 16:02:10
  • 多线程(多窗口卖票实例讲解)

    2021-09-02 02:47:26
  • Java语言多线程终止中的守护线程实例

    2023-11-25 07:48:52
  • 解决SpringBoot中MultipartResolver和ServletFileUpload的冲突问题

    2023-10-22 15:28:19
  • Java实现提取QSV文件视频内容

    2023-08-24 13:33:45
  • Java @Transactional指定回滚条件

    2023-11-19 02:47:23
  • 深入分析java并发编程中volatile的实现原理

    2023-11-23 05:02:25
  • asp之家 软件编程 m.aspxhome.com