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

cn结尾的网站 做外贸如何搭建手机网站源码

cn结尾的网站 做外贸,如何搭建手机网站源码,传奇类型的网游,淘宝网站怎么做的Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin(2) 在 Android ScaleGestureDetector检测双指缩放Bitmap基于Matrix动画移动到双指捏合中心点ImageView区域中心,Kotlin-CSDN博客 …

Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin(2)

 

在 Android ScaleGestureDetector检测双指缩放Bitmap基于Matrix动画移动到双指捏合中心点ImageView区域中心,Kotlin-CSDN博客 的基础上,改进一下,实现两根手指在屏幕上捏合缩放时候,图片随之缩放。当手指在屏幕上抬离时候,画布上呈现的是缩放后的图。

 

class MyImageView : AppCompatImageView {private var mCenterX = 0fprivate var mCenterY = 0fprivate val mCirclePaint = Paint()private var mSrcBmp: Bitmap? = nullprivate var mScaleBmp: Bitmap? = null//放大系数。private var mScaleFactor = 1fprivate var mScaleGestureDetector: ScaleGestureDetector? = nullprivate var mCanDrawScaleBmp = falseconstructor(ctx: Context, attrs: AttributeSet) : super(ctx, attrs) {mSrcBmp = (drawable as BitmapDrawable).bitmap //mSrcBmp是原始图大小,没有缩放和拉伸的。mCirclePaint.style = Paint.Style.STROKEmCirclePaint.strokeWidth = 10fmCirclePaint.isAntiAlias = truemCirclePaint.color = Color.REDmScaleGestureDetector = ScaleGestureDetector(ctx, object : ScaleGestureDetector.SimpleOnScaleGestureListener() {override fun onScale(detector: ScaleGestureDetector): Boolean {//更新两个手指缩放的中心点。mCenterX = detector.focusXmCenterY = detector.focusY//if (detector.currentSpan > 50 && detector.timeDelta > 20) {mScaleFactor = detector.scaleFactorLog.d("fly", "onScaleEnd scaleFactor=${detector.scaleFactor}")//}updateView()return false}})}private fun updateView() {this.invalidate()}override fun onTouchEvent(event: MotionEvent): Boolean {mScaleGestureDetector?.onTouchEvent(event)when (event.actionMasked) {MotionEvent.ACTION_MOVE -> {mCanDrawScaleBmp = true}MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {//如果抬手时候重新置false,没有绘制,显示原始底图。//mCanDrawScaleBmp = false}}return true}override fun onDraw(canvas: Canvas) {super.onDraw(canvas)if (mCanDrawScaleBmp) {myDraw(canvas)}}private fun myDraw(canvas: Canvas) {mScaleBmp = Bitmap.createScaledBitmap(mSrcBmp!!,(this.width * mScaleFactor + 1).toInt(), //注意这里的精度损失,会造成坐标偏移.(this.height * mScaleFactor + 1).toInt(),//注意这里的精度损失,会造成坐标偏移.true)val cx = this.width / 2fval cy = this.height / 2fval matrix = Matrix()matrix.setScale(mScaleFactor, mScaleFactor)matrix.setTranslate(cx - mCenterX * mScaleFactor, cy - mCenterY * mScaleFactor)canvas.drawBitmap(mScaleBmp!!, matrix, null)//中心圆圈canvas.drawCircle(cx, cy, 50f, mCirclePaint)}
}

 

 

0ec464d1737049cb94f4d9a8ee7e3313.png

 

 

需要改进的地方是滑动缩放过程不是图片缩放不是非常丝滑流畅,需要改善。

 

 

 

Android ScaleGestureDetector检测双指缩放Bitmap基于Matrix动画移动到双指捏合中心点ImageView区域中心,Kotlin-CSDN博客文章浏览阅读75次,点赞3次,收藏5次。需要注意的,因为在xml布局里面特别设置了ImageView的高度为wrap_content,手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置,但是,如果ImageView设置成match_parent,则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView,被拉伸了),拉伸后的Bitmap水平方向坐标与ImageView一直重合,但竖直方向,Bitmap坐标与ImageView不一致,会造成一种现象,手指触点放大镜放大后,水平方向是正确的,但竖直方向有偏移量。https://blog.csdn.net/zhangphil/article/details/135705931

 

http://www.yayakq.cn/news/471776/

相关文章:

  • 做通路富集分析的网站广州模板网站建设费用
  • 代码大淘客网站如何做seo
  • 腾讯云网站制作教程wordpress主题压缩包安装提示无效
  • 网站发布之后上传文件路径变了微信h5商城网站
  • 什么情况自己建设网站凡科网做网站如何推广
  • 域名备案要先做网站的吗高端网站建设个人
  • 软文怎么优化网站带会员系统的网站模板
  • 南昌高端网站制作内部网站制作
  • 深圳商城网站制作公司腾讯云 wordpress教程
  • 中国建设银行网站u盾修改密码wordpress电影网教程
  • WordPress点击logo返回首页门户网站做seo
  • 私人建设网站网站制作需要的软件
  • 网站开发目录结构建一个网站式系统
  • 好的用户体验网站 学校网站设计三把火科技
  • 营销型网站商城网站的竞品分析怎么做
  • 什么网站可以做引文分析安贞街道网站建设
  • 高级营销型网站建设精品网站设计欣赏
  • 深圳网站建设服务哪家专业网站建设新手
  • 广州自助网站制作东莞英文建站公司
  • 网站内页降权 关键词排名下降包头网站建设公司良居网络
  • 石家庄建站软件mssql网站开发
  • 网站如何绑定虚拟主机梯子国外服务器
  • 怎么制作网站来赚钱saas系统是什么意思
  • 单位的网站建设费会计处理万能网址大全
  • 做网站运营有前途wordpress linux 中文
  • 网站开发和维护合同布吉做网站
  • 什么是企业营销型网站软件开发培训机构网课
  • 齐齐哈尔做网站公司太湖云建站网站建设
  • 电子商务网站建设与维护管理订做网站策划
  • 大学教学应用网站开发现状百度最新秒收录方法2022