当前位置: 首页 > news >正文

什么网站做服装批发比较大环球网疫情最新消息

什么网站做服装批发比较大,环球网疫情最新消息,安全员怎么网站中做备案,品牌建设标准在Android、前端或者别的平台的软件开发中,有时会遇到类似如下需求: 将某个图片显示到指定的区域;要求不改变图片本身的宽高比,进行缩放;要求最大限度的居中填充到显示区域。 以下示意图可以简单描绘该需求 以Androi…

在Android、前端或者别的平台的软件开发中,有时会遇到类似如下需求:

  1. 将某个图片显示到指定的区域;
  2. 要求不改变图片本身的宽高比,进行缩放;
  3. 要求最大限度的居中填充到显示区域。

以下示意图可以简单描绘该需求

在这里插入图片描述

以Android平台为例,如果我们的目标显示对象为Imageview,那么很简单,只要如下设置即可


<ImageView xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:scaleType="fitCenter"android:src="@drawable/image" />

其中实现以上需求最关键的代码为 android:scaleType=“fitCenter”。感兴趣的同学可以去查看源码,探究scaleType属性设置为fitCenter之后底层代码是如何实现的。

但是,如果我们的显示区域只是一个自定义view中特定坐标的区域,如(x1, y1, x2, y2)的矩形区域。不了解Matrix的同学,可能第一反应就是根据图片本身的宽高以及目标显示区域的宽高,去计算一个缩放比,如下代码:

public void drawBitmapFillRegion(Canvas canvas, Bitmap bitmap, Rect targetRect) {// 目标区域的宽高int targetWidth = targetRect.width();int targetHeight = targetRect.height();// Bitmap 的宽高int bitmapWidth = bitmap.getWidth();int bitmapHeight = bitmap.getHeight();// 计算宽高比float scale = Math.max((float) targetWidth / bitmapWidth, (float) targetHeight / bitmapHeight);// 计算缩放后的宽高float scaledWidth = scale * bitmapWidth;float scaledHeight = scale * bitmapHeight;// 计算偏移float offsetX = targetRect.left + (targetWidth - scaledWidth) / 2;float offsetY = targetRect.top + (targetHeight - scaledHeight) / 2;// 设置 Matrix 进行缩放和平移Matrix matrix = new Matrix();matrix.setScale(scale, scale);matrix.postTranslate(offsetX, offsetY);// 绘制 Bitmapcanvas.drawBitmap(bitmap, matrix, null);
}

但是,当你深入研究Matrix中的方法,你就会发现,根本不需要这么麻烦,以下几句即可简单完美实现

public void drawBitmapFillRegion(Canvas canvas, Bitmap bitmap) {// 定义源矩形,即 Bitmap 的边界RectF srcRect = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight());RectF srcRect = new RectF(x1, y1, x2, y2);// 设置 Matrix 进行缩放和平移Matrix matrix = new Matrix();matrix.setRectToRect(srcRect, targetRect, Matrix.ScaleToFit.CENTER);// 绘制 Bitmapcanvas.drawBitmap(bitmap, matrix, null);
}

其中最关键的方法便是 setRectToRect,它可以计算出将某个矩形映射到另外一个矩形所需的矩阵,并将这个矩阵赋值给调用方。其实,Matrix还有很多使用强大的接口,感兴趣的同学可以系统深入探索下。尤其是工作学习当中涉及到图片缩放、裁剪、旋转、平移等操作的同学,更应该学习下。

http://www.yidumall.com/news/13111.html

相关文章:

  • 武汉做网站哪家公司好太原全网推广
  • 做动态图的网站视频号直播推广二维码
  • wordpress seo插件seo中文意思是
  • 企业英语网站百度收录入口提交查询
  • 网站托管服务适用于今日头条新闻最新
  • wordpress怎么修改网页搜索引擎优化学习
  • 网站营运挖掘关键词的工具
  • dedecms模板 中医院网站全套模板百度中心人工电话号码
  • 制作网站报价单seo课程在哪培训好
  • seo有些什么关键词网站排名优化工具
  • 做5173这样的网站要多少人石家庄seo关键词
  • 爱星光(istar)高端网站建设重庆seo优
  • 硬件产品开发流程图sem优化托管公司
  • 如何弄网站排名网络小说网站三巨头
  • 青岛品牌网站建设今日热点新闻事件
  • 搜索引擎seo是什么意思seo公司推广宣传
  • 西安网站优化效果百度seo收录
  • 不懂代码wordpress旺道seo系统
  • 整屏滚动网站深圳网络推广市场
  • 怎样推广appseo排名优化软件
  • 哪个网站做的系统好用百度推广后台登陆
  • 搭建个人网站的两种方法杭州seo网站排名优化
  • 赚钱网站入口今日头条新闻
  • 中英文切换的网站怎么做网站上做推广
  • 旅游网站网页布局聊城网站seo
  • nas 做网站服务器百度百家
  • 无锡网站建设价格低网络营销策划书
  • 天津手机网站建站培训网络运营推广合作
  • 无锡市政设施建设工程有限公司优化是什么意思
  • 义乌来料加工网网站seo好学吗