`
- 浏览:
130663 次
- 性别:
- 来自:
北京
-
Android平台上实现图片的缩放,圆角,倒影效果
- package com.lp.imageUI;
-
- import android.graphics.Bitmap;
- import android.graphics.Canvas;
- import android.graphics.LinearGradient;
- import android.graphics.Matrix;
- import android.graphics.Paint;
- import android.graphics.PixelFormat;
- import android.graphics.PorterDuffXfermode;
- import android.graphics.Rect;
- import android.graphics.RectF;
- import android.graphics.Bitmap.Config;
- import android.graphics.PorterDuff.Mode;
- import android.graphics.Shader.TileMode;
- import android.graphics.drawable.Drawable;
- public class ImageUtil {
-
-
- 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;
- }
-
- 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;
-
- }
-
-
- 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+10, paint);
-
-
-
-
-
-
-
-
- paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
- canvas.drawBitmap(bitmap, rect, rect, paint);
-
- return output;
- }
-
- 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);
-
-
-
- paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
-
- canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()
- + reflectionGap, paint);
-
- return bitmapWithReflection;
- }
-
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Android平台上,开发一款具有3D效果和倒影功能的画廊应用是一项技术挑战,而“3D带倒影展示画廊”就是这样一个实现。这个Demo展示了如何在Android应用程序中创建一个具有3D视觉效果和倒影的图片展示区域,为用户...
Android图片效果: "图片缩放", "图片圆角", "图片倒影", "旋转图片", "图片反转", "图片色调饱和度、色相、亮度处理", "涂鸦,水印", "图片上写文字", "怀旧效果", "模糊效果" ,"柔化效果(高斯模糊)", "浮雕效果...
"Android实现图表绘制和展示","断点续传下载","常用Intent.Action","图片缩放圆角倒影Bitmap/Drawable转换", "SlidingDrawer抽屉效果","Android顶部与底部菜单","GroupActivity测试","Android平台水波效果源码",...
在Android开发中,图像处理是一项常见的任务,涵盖了各种操作,如类型转换、比例缩放、创建倒影和制作圆角图像。以下是对这些知识点的详细解释: 1. **比例缩放图片**: 在Android中,可以使用`Bitmap`类提供的...
在上述代码中,我们看到了如何实现Bitmap的两种特殊效果:圆角和倒影。下面将详细解释这两种效果的实现原理。 1. **圆角Bitmap**: 为了将Bitmap的四个角变成圆形,我们可以使用`getRoundedCornerBitmap()`方法。...
"图片缩放", "图片圆角", "图片倒影", "旋转图片", "图片反转", "图片色调饱和度、色相、亮度处理", "涂鸦,水印", "图片上写文字", "怀旧效果","模糊效果" ,"柔化效果(高斯模糊)", "浮雕效果", "锐化效果", "底片...
本文将深入探讨几种常见的Android图形特效,包括图片的圆角、图片的缩放、图片的倒影以及图片的旋转,这些都是Android开发者需要掌握的基本技能。 首先,我们来看如何实现图片的圆角效果。在Android中,可以使用...
在Android开发中,有时我们需要为应用添加一些视觉特效,比如图片倒影效果。这个实例代码展示了如何在Android中轻松创建一个图片倒影效果。我们主要会涉及到以下几个关键知识点: 1. **Bitmap**: Bitmap是Android...
本文将深入探讨Android中图片转换、缩放、圆角以及倒影等特效的实现方法。 首先,我们来看一下如何将`Drawable`转换为`Bitmap`。在Android中,`Drawable`是一个抽象类,它代表了屏幕上的可视元素,而`Bitmap`则是一...
在Android开发中,图片处理是一项常见的任务,涉及到各种视觉效果的实现。以下是对标题和描述中涉及的知识点的详细说明: 1. **图片缩放**:Android提供了Bitmap类的多种方法来处理图片缩放,如`createScaledBitmap...
1. **图片缩放**:Android提供了多种方法进行图片缩放,如`Bitmap.createScaledBitmap()`函数,可以按照指定的宽高比例对图片进行缩放,保持图片原有的宽高比。 2. **图片圆角**:要实现圆角图片,通常需要自定义`...
集成android 圆角,灰度,倒影,缩放,剪切,水印,合成等工具
在Android中,我们可以通过Matrix类来实现图片的缩放。Matrix提供了postScale()方法,该方法允许在现有的变换矩阵上应用缩放操作。在`zoomBitmap()`函数中,首先获取原图的宽度和高度,然后计算出缩放比例,最后...
在安卓平台上,实现图片特效涉及了多个图像处理技术与编程概念。以下是对这些知识点的详细说明: 1. **图片缩放**:通过调整图片的宽度和高度,改变其原始尺寸。在Android中,通常使用`Bitmap.createScaledBitmap()...
根据提供的描述,我们可以了解到 `ImageUtils` 支持的功能包括但不限于:缩放图片、裁剪图片、倾斜图片、旋转图片、将图片转换为圆形或圆角图片、添加倒影、添加文字或图片水印以及快速模糊等。接下来,我们将深入...
"Bitmap图片处理工具类" 提供了多种对位图(Bitmap)进行操作的功能,如颜色转换、图像分割、缩放、旋转、调整透明度、生成圆角图片以及文字与倒影效果的绘制。接下来,我们将深入探讨这些知识点。 首先,`...