图片合成 /** * 图片合成 * @param bitmap * @return */ private Bitmap createBitmap( Bitmap src, Bitmap watermark ) { if( src == null ) { return null; } int w = src.getWidth(); int h = src.getHeight(); int ww = watermark.getWidth(); int wh = watermark.getHeight(); //create the new blank bitmap Bitmap newb = Bitmap.createBitmap( w, h, Config.ARGB_8888 );//创建一个新的和SRC长度宽度一样的位图 Canvas cv = new Canvas( newb ); //draw src into cv.drawBitmap( src, 0, 0, null );//在 0,0坐标开始画入src //draw watermark into cv.drawBitmap( watermark, w - ww + 5, h - wh + 5, null );//在src的右下角画入水印 //save all clip cv.save( Canvas.ALL_SAVE_FLAG );//保存 //store cv.restore();//存储 return newb; } 图片圆角 /** * 图片圆角 * @param bitmap * @return */ public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) { 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); final float roundPx = 12; 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; } 图片缩放、翻转和旋转 /** * 缩放、翻转和旋转图片 * @param bmpOrg * @param rotate * @return */ private android.graphics.Bitmap gerZoomRotateBitmap( android.graphics.Bitmap bmpOrg, int rotate) { // 获取图片的原始的大小 int width = bmpOrg.getWidth(); int height = bmpOrg.getHeight(); int newWidth = 300; int newheight = 300; // 定义缩放的高和宽的比例 float sw = ((float) newWidth) / width; float sh = ((float) newheight) / height; // 创建操作图片的用的Matrix对象 android.graphics.Matrix matrix = new android.graphics.Matrix(); // 缩放翻转图片的动作 // sw sh的绝对值为绽放宽高的比例,sw为负数表示X方向翻转,sh为负数表示Y方向翻转 matrix.postScale(sw, sh); // 旋转30* matrix.postRotate(rotate); //创建一个新的图片 android.graphics.Bitmap resizeBitmap = android.graphics.Bitmap .createBitmap(bmpOrg, 0, 0, width, height, matrix, true); return resizeBitmap; }
// 缩放 public static Drawable resizeImage(Bitmap bitmap, int w, int h) { // load the origial Bitmap Bitmap BitmapOrg = bitmap; int width = BitmapOrg.getWidth(); int height = BitmapOrg.getHeight(); int newWidth = w; int newHeight = h; // calculate the scale float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; // create a matrix for the manipulation Matrix matrix = new Matrix(); // resize the Bitmap matrix.postScale(scaleWidth, scaleHeight); // if you want to rotate the Bitmap // matrix.postRotate(45); // recreate the new Bitmap Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width, height, matrix, true); // make a Drawable from Bitmap to allow to set the Bitmap // to the ImageView, ImageButton or what ever return new BitmapDrawable(resizedBitmap); }
来自:http://www.cnblogs.com/olvo/archive/2012/04/14/2447097.html
相关推荐
总之,实现“Android studio 实现图片翻转”这一功能,需要掌握Android动画系统的基础知识,理解视图动画、属性动画的原理,熟悉自定义View的绘制过程,以及如何处理用户交互。通过这些技术,可以创建出类似支付宝...
本文将深入探讨如何在Android平台上实现图片的拼接、缩放、特效、拖动以及翻转功能,这些都是移动应用中常见的交互和视觉元素。我们将以`DrawDemo`为例,来阐述这些技术的实现细节。 1. **图片拼接**: 图片拼接是...
在Android开发中,实现图片翻转动画是一种常见的交互设计,可以增强用户体验,使得应用看起来更加生动有趣。本文将深入探讨如何在Android平台上实现3D图片翻转动画。 首先,我们需要了解Android中的动画系统。...
标签为“vue iview多张图片大图预览 vue iview多张图片预览 vue图片预览缩放翻转”,这些标签指向了本文的核心内容,即如何在Vue和iView的环境下实现图片预览功能,以及如何实现图片的缩放和翻转。这些标签将帮助...
在Android开发中,图片特效处理是一项常见的需求,无论是为了增强用户体验,还是为了实现特定的设计风格。这个名为"Android 常用图片特效处理源码.zip"的压缩包中,包含了多个示例图片以及一个源码文件,用于演示...
在Android开发中,动画是提升用户体验的关键因素之一。本文将深入探讨如何实现“硬币翻转”效果的动画,这通常用于头像或其他图形元素,为用户界面增添动态感和互动性。 首先,Android提供了两种主要类型的动画:补...
本压缩包提供的"图片处理,缩放和翻转"源代码,包含了实现这些功能的核心算法和技术,旨在帮助开发者理解和实现图片的常见操作。 首先,我们来看"图片缩放"。图片缩放分为等比例缩放和非等比例缩放。等比例缩放通常...
在Android开发中,图片处理是不可或缺的一部分,尤其在创建用户界面和提高用户体验时。本教程将深入探讨如何在Android平台上实现图片的圆角效果和倒影效果,这些都是增强视觉吸引力和设计感的重要技术。 首先,让...
android卡片翻转效果,使用view的draw方法直接绘制,节省性能,如果放到liestview或者recycleview中的话,请自行稍加修改,不要使用bitmap来做存储即可,本想0分,但是目前至少要选1分,没法办
通过这个Android中图片翻转的Demo,开发者可以学习到如何利用`Matrix`、`ImageView`以及动画技术实现图片翻转效果,并了解如何在实际项目中进行性能优化和兼容性处理。这是一个基础但实用的功能,对于提升应用的用户...
在Android开发中,创建圆角图片和图片倒影是常见的需求,这主要涉及到图像处理和视图绘制的技术。本文将详细讲解如何在Android平台上实现这些功能。 首先,让我们来看看如何生成圆角图片。在Android中,我们可以...
在Android开发中,图片处理是常见且重要的任务之一。这个话题涵盖了两个方面:创建图片的倒影效果和制作圆角图片。这两个特性可以用于提升应用的用户体验,使其看起来更加美观和专业。 首先,我们来讨论如何在...
源码中可能有对ScaleGestureDetector类的使用,该类可以帮助我们识别并处理缩放手势。在放大过程中,图片的中心点会保持不变,而其他部分会相应地缩放。 倒影处理通常涉及到对原始图片的翻转操作,这可以通过复制...
标题中的“图片查卡器JS,支持图片缩放翻转漫游”指的是一个基于JavaScript的图片查看器,它具备图片缩放、翻转和漫游(平移)等功能,为用户提供更加灵活和丰富的图片浏览体验。这样的工具在网页设计、在线相册、...
本项目"android 防微信图片放大,仿win8界面图片动态翻转"就是一个这样的尝试,它结合了微信图片查看器的特性与Windows 8风格的界面设计,为用户提供了一种全新的图片浏览体验。 首先,我们来探讨“防微信图片放大...
在Android开发中,图片特效处理是一项重要的技能,它涉及到图像的色彩调整、滤镜应用、形状变换等多个方面。本文将围绕“android常用图片特效处理”这一主题,详细讲解相关知识点。 首先,我们要理解Android中处理...
总结起来,这个"Android图片处理demo"涵盖了Android图片的加载、解码、显示、旋转、缩放、滤镜应用以及内存管理和异步处理等多个方面。通过学习和分析这个示例,开发者可以掌握Android平台上的图片处理技巧,提高...
首先,图像缩放是调整图像尺寸的过程,可以放大或缩小图片。常见的方法有最近邻插值和双线性插值。最近邻插值简单快速,但可能导致像素化;双线性插值则通过周围像素的加权平均来获取新位置的颜色,效果更平滑,但...
在Android平台上,图片处理是一项重要的任务,特别是在开发各种应用程序,如社交网络、图像编辑器或者游戏时。Android提供了丰富的API和工具,使开发者能够实现类似于Adobe Photoshop(简称PS)的效果。下面将详细...
在Android平台上,实现2D图片翻转是一种常见的动画效果,可以增强用户界面的交互性和视觉吸引力。本教程将深入探讨如何使用Android的普通动画(Property Animation)系统来创建这种效果,特别是关注`ScaleAnimation`...