欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ImageView倒影效果

发布时间:2023/11/29 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ImageView倒影效果 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

先看下效果图:



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倒影效果的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。