gpt4 book ai didi

Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1.放大缩小图片 。

  。

复制代码 代码如下:

public static Bitmap zoomBitmap(Bitmap bitmap,int w,int h){            int width = bitmap.getWidth();            int height = bitmap.getHeight();            Matrix matrix = new Matrix();            float scaleWidht = ((float)w / width);            float scaleHeight = ((float)h / height);            matrix.postScale(scaleWidht, scaleHeight);            Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);            return newbmp;        } 。

  。

  。

2.获得圆角图片的方法 。

  。

  。

复制代码 代码如下:

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,float roundPx){            Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);            Canvas canvas = new Canvas(output);            final int color = 0xff424242;            final Paint paint = new Paint();            final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());            final RectF rectF = new RectF(rect);            paint.setAntiAlias(true);            canvas.drawARGB(0, 0, 0, 0);            paint.setColor(color);            canvas.drawRoundRect(rectF, roundPx, roundPx, paint);            paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));            canvas.drawBitmap(bitmap, rect, rect, paint);            return output;        } 。

  。

  。

3.获得带倒影的图片方法 。

  。

  。

复制代码 代码如下:

public static Bitmap createReflectionImageWithOrigin(Bitmap bitmap){   
       final int reflectionGap = 4;   
       int width = bitmap.getWidth();   
       int height = bitmap.getHeight();   

       Matrix matrix = new Matrix();   
       matrix.preScale(1, -1);   

       Bitmap reflectionImage = Bitmap.createBitmap(bitmap,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(bitmap, 0, 0, null);   
       Paint deafalutPaint = new Paint();   
       canvas.drawRect(0, height,width,height + reflectionGap, deafalutPaint);   

       canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null);   

       Paint paint = new Paint();   
       LinearGradient shader = new LinearGradient(0, bitmap.getHeight(), 0,
     bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP);   
        paint.setShader(shader);   
        // Set the Transfer mode to be porter duff and destination in   
        paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));   
        // Draw a rectangle using the paint with our linear gradient   
        canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()   
                + reflectionGap, paint);   

        return bitmapWithReflection;   
    }

  。

4.将Drawable转化为Bitmap 。

  。

复制代码 代码如下:

public static Bitmap drawableToBitmap(Drawable drawable){       int width = drawable.getIntrinsicWidth();       int height = drawable.getIntrinsicHeight();       Bitmap bitmap = Bitmap.createBitmap(width, height,       drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888: Bitmap.Config.RGB_565);       Canvas canvas = new Canvas(bitmap);       drawable.setBounds(0,0,width,height);       drawable.draw(canvas);       return bitmap; } 。

  。

最后此篇关于Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子的文章就讲到这里了,如果你想了解更多关于Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com