- 浏览: 270886 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
tonytony3:
THANK YOU
Android多级树形菜单的实现 -
haiyang08101:
deleteNumber = "421f481e-7 ...
java对xml文件做增删改查 -
求求你帮帮我:
怎么把我的空格也当成节点处理了?
java对xml文件做增删改查 -
求求你帮帮我:
deleteNumber = "421f481e-7 ...
java对xml文件做增删改查 -
lpj13579:
多谢分享,学习学习
高仿小米盒子UI效果实现
package com.android.tutor; 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; } //将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; } //获得圆角图片的方法 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; } //获得带倒影的图片方法 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; } }
第三步:修改main.xml布局文件,主要放了两个ImageView控件,代码如下:
<!--?xml version="1.0" encoding="utf-8"?-->
package com.android.tutor; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.widget.ImageView; public class Imagedemo extends Activity { private ImageView mImageView01,mImageView02; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setupViews(); } private void setupViews(){ mImageView01 = (ImageView)findViewById(R.id.image01); mImageView02 = (ImageView)findViewById(R.id.image02); //获取壁纸返回值是Drawable Drawable drawable = getWallpaper(); //将Drawable转化为Bitmap Bitmap bitmap = ImageUtil.drawableToBitmap(drawable); //缩放图片 Bitmap zoomBitmap = ImageUtil.zoomBitmap(bitmap, 100, 100); //获取圆角图片 Bitmap roundBitmap = ImageUtil.getRoundedCornerBitmap(zoomBitmap, 10.0f); //获取倒影图片 Bitmap reflectBitmap = ImageUtil.createReflectionImageWithOrigin(zoomBitmap); //这里可以让Bitmap再转化为Drawable // Drawable roundDrawable = new BitmapDrawable(roundBitmap); // Drawable reflectDrawable = new BitmapDrawable(reflectBitmap); // mImageView01.setBackgroundDrawable(roundDrawable); // mImageView02.setBackgroundDrawable(reflectDrawable); mImageView01.setImageBitmap(roundBitmap); mImageView02.setImageBitmap(reflectBitmap); } }
发表评论
-
Android 三大图片加载框架比较
2016-11-30 10:31 10781.哪三大图片加载框架? 1) Pi ... -
仿微信小视屏拍摄的进度条/自定义的progressBar的样式。
2016-08-20 00:25 1020今天有个需求,就是需要倒计时的进度条,样式参考微信小视屏拍摄 ... -
android 闹钟定时任务 AlarmManager
2016-06-02 13:41 1821直接上代码 package com.exampl ... -
android应用实现重启系统
2016-06-02 13:33 35121.在AndroidManifest.xml文件的manif ... -
android 每天定时提醒功能实现
2016-06-01 22:42 0android要实现定时的功 ... -
Java Calendar 类的时间操作
2016-06-01 21:02 661ava Calendar 类时间操作,这也许是创建日历和管理 ... -
android中fragment和activity之间相互通信
2014-11-13 16:25 1433在用到fragment的时候,老是会遇到一个问题,就是fra ... -
墨迹天气上下滑动viewpager
2014-11-04 17:15 742墨迹天气上下滑动viewpager -
Android杂谈--打开文件的Intent及使用
2014-10-25 13:03 639在写文件管理系统时会用到各种打开不同格式的文件的需求,由于A ... -
获取Android签名证书的sha1值
2014-08-23 23:14 657前言:今天开始研 ... -
java中Keytool的使用总结
2014-08-23 22:40 557J2SDK提供了keytool命令行工具,可以根据指定的参数 ... -
android获取versionName和versionCode
2014-07-08 18:02 733<TextView android:textSize= ... -
Android如何防止apk程序被反编译
2014-07-08 17:22 703作为Android应用开发者,不得不面对一个尴尬的局面,就是 ... -
在GridView中实现单选或多选功能
2014-06-26 13:08 816由于项目需要,要用到GridView实现多选功能,在网上搜 ... -
Android中Tween动画和Frame动画实例
2014-06-26 10:46 721Animation主要有两种动画模式:Tween动画和Fra ... -
android 禁用和开启四大组件的方法(setComponentEnabledSetting )
2014-06-19 15:26 0为什么要关闭组件? 在用到组件时,有时候我们可能暂时性的不使 ... -
android MD5校验码的生成与算法实现
2014-06-17 10:58 880在Java中,java.security.Mes ... -
android 自动检测版本升级
2014-06-15 14:10 382这里我用别的app代替了,简单省事,正常的话,你要对你的 ... -
layout左右平滑控制.
2014-04-30 09:41 608<?xml version="1.0&quo ... -
android让你的TabHost滑动起来
2014-04-22 22:13 815在Android应用中,一般TabActivity和若干个T ...
相关推荐
在Android平台上,图像...这个压缩包中的源代码很可能是实现了以上部分或全部知识点,通过分析和学习这个源码,开发者可以深入理解Android图像处理机制,提升自己的技能,并有可能在此基础上创建更多创新的图像特效。
总的来说,这个源码提供了一个实践图像特效的实例,对于想要在Android应用中实现独特视觉效果的开发者来说,是一个极好的学习和参考资源。通过学习和应用这些代码,不仅可以增强图像处理技能,还能提升应用的用户...
"Android 图像冰冻特效源码.zip" 提供了一个学习和参考的项目,旨在实现一种创新的图像特效——冰冻效果。这个效果通常用于使图像看起来像是被冰冻或者凝固,给用户带来独特的视觉体验。 冰冻特效在Android中实现,...
在Android中实现图片特效处理,主要涉及以下几个技术点: 1. **Bitmap操作**:Bitmap是Android中用于存储和显示图像的基本类。开发者可以通过Bitmap对象进行图片的加载、解码、绘制以及各种特效处理。例如,可以...
总的来说,这个源码资源对于想要学习Android图像特效、动画处理和图形编程的开发者来说极具价值。通过深入研究和理解源码,开发者不仅可以掌握特定的冰冻特效实现方式,还能提升对Android图形系统和动画框架的理解。
"Android源码——图像柔化美白特效源码_new_37.zip"提供的源码,是针对图像处理的一种常见应用——图像柔化和美白特效的实现。这类特效广泛应用于自拍应用、美图工具等,可以让用户在拍摄或编辑照片时实现更自然、更...
"Android 图像冰冻特效源码"可能是一个开源项目,它实现了独特的图像“冰冻”特效,为应用程序增添了一种引人入胜的视觉体验。这个源码库可能包含了一些自定义视图、动画类或库,用于在Android平台上创建这种特殊的...
《Android开发:DragSelectRecyclerView实现长按滑动多选图像特效》 在Android应用开发中,用户界面(UI)的设计和交互体验至关重要。一个优秀的应用不仅要功能强大,而且要操作流畅,界面美观。...
7. **图片压缩**:Android的Bitmap类提供了几种压缩方式,如`compress(Bitmap.CompressFormat format, int quality, OutputStream stream)`,可以控制图片的质量和大小。另外,第三方库如 Glide 和 Fresco 自带了...
7. **Tween动画**:综合运用以上几种动画,创建复杂的组合动画。 8. **帧动画**:通过连续播放一系列静态图像来创建连续的动画效果,常用于加载图标或游戏动画。 9. **ObjectAnimator**:属性动画的一种,可以改变...
在Android平台上,图像处理系统是开发者进行图形界面优化和创新应用的重要工具。1.2版的更新可能包含了一些性能提升、新特性和错误修复。在这个版本中,我们重点关注以下几个核心知识点: 1. **SurfaceTexture与...
在实现游戏场景切换特效时,有以下几种常见的技术手段: 1. **渐变过渡**:通过在两个场景之间绘制一个逐渐变化的颜色或者图像,使场景之间的切换看起来更为自然。这可以通过在OpenGL ES中使用顶点着色器和片段着色...
这种特效通常通过Shimmer效果来实现,它可以让TextView的文字或图像看起来像在闪烁或者流动,营造出一种动态的、吸引人的视觉焦点。 首先,我们来看`ShimmerDemo`。这是一个示例项目,它演示了如何在实际应用中集成...
其中,"Ken Burns"特效,也被称为“Ken Burns效果”或“移动镜头”效果,是一种广泛应用于幻灯片、照片展示和视频制作中的动态图像处理技术。这种特效通过模拟摄像机对静态图像的平移和缩放,赋予静止的画面一种动态...
在Android开发中,Cover Flow是一种视觉效果,常用于展示一系列图像,如音乐专辑封面或图片库,用户可以平滑地滚动这些元素,看起来就像是在3D空间中翻转。这个特效给用户带来了丰富的互动体验,增加了应用的吸引力...
在项目中,你可能会遇到以下几种常见的图片处理技术: 1. 图片缩放:使用Bitmap.createScaledBitmap()方法可以对图片进行缩放,以适应不同的屏幕尺寸或内存限制。 2. 图片旋转:通过Matrix类,我们可以对Bitmap...