图片缩放:
public static Drawable resizeImage(Drawable d, int w, int h) {
// load the origial Bitmap
Bitmap BitmapOrg = ((BitmapDrawable) d).getBitmap();
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);
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);
}
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);
}
图片写字:
/**
* 图片上画字
* */
private Bitmap drawTextAtBitmap(Bitmap bitmap,String text){
int x = bitmap.getWidth();
int y = bitmap.getHeight();
// 创建一个和原图同样大小的位图
Bitmap newbit = Bitmap.createBitmap(x, y, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(newbit);
Paint paint = new Paint();
// 在原始位置0,0插入原图
canvas.drawBitmap(bitmap, 0, 0, paint);
paint.setColor(Color.parseColor("#dedbde"));
paint.setTextSize(20);
// 在原图指定位置写上字
canvas.drawText(text, 53 , 30, paint);
canvas.save(Canvas.ALL_SAVE_FLAG);
// 存储
canvas.restore();
return newbit;
}
分享到:
相关推荐
以下是对Android图片处理的一些关键知识点的详细阐述: 1. **图片加载**:在Android中,Bitmap是用于表示图片的基础类。然而,直接从磁盘或网络加载大图可能会导致内存溢出。因此,我们通常使用图片库如Glide、...
"Android图片浏览器报告" Android图片浏览器是一种移动应用程序,旨在提供一个便捷的图片浏览体验。通过实现一个完整的软件,体验软件项目开发的工作流程,加深对相关理论知识的理解,提高实际分析设计能力。 在...
总结一下,实现Android图片滑动浏览的关键点包括: 1. 使用`ViewPager`作为页面容器。 2. 创建适配器,将图片数据绑定到`ViewPager`。 3. 选择合适的图片加载库,如Glide或Picasso。 4. 实现手势识别,处理滑动事件...
总结,这个“Android Spinner实现图片列表”的示例提供了一种方法,使Spinner能够以更直观、更具吸引力的方式展示选项,这对于提升用户界面的交互性和美观度非常有价值。通过学习和理解这个示例,开发者可以将这种...
本项目"Android图片剪切并存入数据库"正是关注这个场景,下面将详细解释实现这个功能的关键知识点。 首先,我们需要使用`Intent`来实现从相册或相机获取图片的功能。通过启动一个系统级别的`Intent`,用户可以选择...
总结起来,实现Android图片下载显示,尤其是相册效果,需要综合运用网络请求库、图片加载库、内存管理、缓存策略以及UI组件。选择合适的工具和方法,能提升用户体验,同时保证应用的性能和稳定性。在实际开发中,要...
总结来说,Android图片质量压缩涉及到了图片的加载、压缩、保存以及上传等多个环节。开发者可以根据实际需求,灵活运用各种工具和方法来实现高效且节省资源的图片处理。在处理大量图片时,合理使用缓存和第三方库...
本篇文章将详细总结Android中实现这一目标的方法和策略。 首先,理解图片压缩的基本原理至关重要。图片通常由像素矩阵构成,每个像素包含红、绿、蓝三种颜色分量,以及可能的透明度信息(阿尔法通道)。压缩的目标...
Android开发实现保存图片到手机相册功能 Android开发实现保存图片到手机相册功能是Android开发中的一种常见需求。当我们需要在Android应用程序中保存图片到手机相册时,需要考虑多种因素,例如手机品牌、图片格式、...
Android知识系统总结是一个涵盖广泛的主题,它涉及到Android操作系统的核心概念、开发环境的搭建、应用程序的结构、用户界面设计、数据存储、网络通信、多线程处理、性能优化等多个方面。以下是对这些关键知识点的...
总结一下,实现Android图片点击震动效果主要涉及以下几个步骤: 1. 在AndroidManifest.xml中添加`VIBRATE`权限。 2. 在布局文件中设置图片的点击事件。 3. 在Activity或Fragment中获取`Vibrator`实例并实现点击震动...
总结,Android图片文件上传的核心步骤包括:获取图片文件、设置网络请求、读取图片文件并写入HTTP请求流、处理服务器响应。理解这些概念并熟练运用,能帮助你在Android应用开发中实现高效、稳定的图片上传功能。
### Android布局属性详解 #### 一、概述 在Android应用开发过程中,良好的用户界面设计是提升用户体验的关键之一。其中,布局是构成用户界面的基础。本文档汇总了Android中常用的布局属性,旨在帮助开发者更好地...
总结起来,实现“Android开发启动app弹出一张广告图片,Dialog可以查看大图,查看某个图片功能”涉及以下步骤: 1. 创建自定义Dialog,包含广告图片和“查看大图”按钮。 2. 使用图片加载库(如Glide)加载广告图片...
总结来说,Android的base64图片处理工具类是开发者在处理图片数据时的重要助手,它简化了图片在网络和本地存储中的转换过程。理解并熟练运用这些工具类,能够帮助你更高效地进行Android应用的开发。
总结一下,Android下载图片到相册涉及的主要步骤包括:请求权限、发起网络请求下载图片、保存图片到公共外部存储目录、以及通知媒体库更新。在实现这些功能时,可以利用Volley、OkHttp等网络库,以及Android的文件...
总结,实现"图片点击放大"这一功能,开发者需要掌握ImageView的ScaleType属性,理解Matrix的图像变换,以及处理触摸事件的能力。同时,对于性能优化和动画效果的考虑也是提高用户体验的关键。通过学习和实践,你将...
总结来说,Android图片选择器是提升用户体验的关键组件,它的实现涉及到Android的多媒体API、图片加载库、权限管理等多个方面。通过理解并熟练运用这些技术,我们可以构建出符合用户期望的高效、易用的图片选择功能...