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

 更新时间:2019年09月03日 16:26:33   作者:anemone27  
在本篇文章里小编给大家整理的是关于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; 
} 
} 

以上就是本次介绍的全部知识点内容,感谢大家对脚本之家的支持。

相关文章

  • Java实战之实现用户登录

    Java实战之实现用户登录

    这篇文章主要介绍了Java实战之实现用户登录,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Java BIO实现聊天程序

    Java BIO实现聊天程序

    这篇文章主要为大家详细介绍了Java BIO实现聊天程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Windows下java、javaw、javaws以及jvm.dll等进程的区别

    Windows下java、javaw、javaws以及jvm.dll等进程的区别

    这篇文章主要介绍了Windows下java、javaw、javaws以及jvm.dll等进程的区别,本文分别讲解了它们的作用并给出代码实例,最后做出了区别总结,需要的朋友可以参考下
    2015-03-03
  • 老生常谈Scanner的基本用法

    老生常谈Scanner的基本用法

    下面小编就为大家带来一篇老生常谈Scanner的基本用法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java RMI详细介绍及简单实例

    Java RMI详细介绍及简单实例

    这篇文章主要介绍了Java RMI详细介绍及简单实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • Java多线程Semaphore工具的使用详解

    Java多线程Semaphore工具的使用详解

    Semaphore 是一种用于控制线程并发访问数的同步工具。它通过维护一定数量的许可证来限制对共享资源的访问,许可证的数量就是可以同时访问共享资源的线程数目,需要的朋友可以参考下
    2023-05-05
  • Maven+SSM框架实现简单的增删改查

    Maven+SSM框架实现简单的增删改查

    这篇文章主要介绍了Maven+SSM框架实现简单的增删改查,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Java实现简单的聊天室功能

    Java实现简单的聊天室功能

    这篇文章主要为大家详细介绍了Java实现简单的聊天室功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 解决Mybatis出现报错Error querying database.Cause: java.lang.IndexOutOfBoundsException: Index 9 out of

    解决Mybatis出现报错Error querying database.Cause: j

    这篇文章主要介绍了解决Mybatis出现报错Error querying database.Cause: java.lang.IndexOutOfBoundsException: Index 9 out of,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 利用数组实现栈(Java实现)

    利用数组实现栈(Java实现)

    这篇文章主要为大家详细介绍了利用数组实现栈,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09

最新评论