热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

安卓剪裁图片(直接操作bitmap)

***按正方形剪裁图片*指定正方形边长*publicstaticBitmapimageCrop(Bitmapbitmap,intwidth){
    /**
* 按正方形剪裁图片
* 指定正方形边长
*/

public static Bitmap imageCrop(Bitmap bitmap, int width) {
// 得到图片的宽,高
int w = bitmap.getWidth();
int h = bitmap.getHeight();

//width最大不能超过长方形的短边
if (w width = w > h ? h : w;
}

int retX = (w - width) / 2;
int retY = (h - width) / 2;

return Bitmap.createBitmap(bitmap, retX, retY, width, width, null, false);
}
    /**
* 按正方形剪裁图片
* 截最大的正方形
*/

public static Bitmap imageCrop(Bitmap bitmap) {
// 得到图片的宽,高
int w = bitmap.getWidth();
int h = bitmap.getHeight();

int width = w > h ? h : w;

int retX = (w - width) / 2;
int retY = (h - width) / 2;

return Bitmap.createBitmap(bitmap, retX, retY, width, width, null, false);
}

这两种方法截出来的正方形和原图片的中心都是重合的。其实只要善用Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)这个方法,想截什么样的图都可以。


推荐阅读
  • Android 性能优化系列之bitmap图片优化
    在日常开发的APP,大部分时候需要想用户展示图片信息,图片最终对应Android中的Bitmap对象。而对于APP端来说Bitmap又是一个比较麻烦的问题,主要表现在Bitmap是非常占用内存的对象,处理不当将导致APP运行卡顿甚至出现OOM ... [详细]
  • Android中Bitmap与Drawable的区别有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更 ... [详细]
  • Bitmap的二次采样一、二次采样(一)、意义和目的用BitmapFactory解码有一张图片时,有时会遇到错误,这往往是由于图片过大造成的。要想正常使用需要分配更少的内存空间来存 ... [详细]
  • 网上有很多解决android加载bitmap内存溢出的方法,搜了一圈做下整理总结。项目里需求是拍摄多图之后上传,部分手机会内存溢出。常用一种解决方法:即将载入的图片缩小,这种方式以牺牲图片的质量为代价 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 从具有确切位置的两个imageView创建位图 - Create bitmap from two imageView with exact location
    MyTarget:Getonephotofromcameraorgallery,thensetittoimageViewA从相机或图库中获取一张照片,然后将其设置 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在Android开发中使用软引用和弱引用的应用。如果一个对象只具有软引用,那么只有在内存不够的情况下才会被回收,可以用来实现内存敏感的高速缓存;而如果一个对象只具有弱引用,不管内存是否足够,都会被垃圾回收器回收。软引用和弱引用还可以与引用队列联合使用,当被引用的对象被回收时,会将引用加入到关联的引用队列中。软引用和弱引用的根本区别在于生命周期的长短,弱引用的对象可能随时被回收,而软引用的对象只有在内存不够时才会被回收。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 在Android中进行图像处理的任务时,有时我们希望将处理后的结果以图像文件的格式保存在内部存储空间中,本文以此为目的,介绍将Bitmap对象的数据以P ... [详细]
  • Iamtryingtodevelopanapponcanvas,Iamdrawingabitmaponthecanvas.Afterdrawing,iamtryin ... [详细]
  • Android开发之网络图片查看方法BitmapFactory.decodeStream()学习01
    Android实现网络图片的查看有好几种方法,但这本身是一种很耗时的操作,可以通过直接获取和操作线程的方法,自己学习使用了BitmapFactory.decodeStream()在代码中自己写了注释, ... [详细]
  • 在Android中进行图像处理的任务时,有时我们希望将处理后的结果以图像文件的格式保存在内部存储空间中,本文以此为目的,介绍将Bitmap对象的数据以PNG格式保存下来的方法。1、添加权限由于 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
author-avatar
手机用户2502898521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有