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

企业网站总结深圳做网站价比高的公司性

企业网站总结,深圳做网站价比高的公司性,南京建设监理协会网站,wordpress仿站pdfAndroid矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置#xff0c;Kotlin 借鉴 Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心#xff0c;Kotlin#xff08;2#xff09;-CSDN博客 在此基础上实现手指在屏幕上点击后Kotlin 借鉴 Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心Kotlin2-CSDN博客 在此基础上实现手指在屏幕上点击后动画放大图片在放大过程中移动手指触点位置到ImageView的中心。 import android.content.Context import android.graphics.Bitmap import android.graphics.Canvas import android.graphics.Color import android.graphics.Matrix import android.graphics.Paint import android.graphics.RectF import android.graphics.drawable.BitmapDrawable import android.os.Bundle import android.util.AttributeSet import android.util.Log import android.view.MotionEvent import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.widget.AppCompatImageView import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launchclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)} }class MyImageView : AppCompatImageView {private var mCurX 0fprivate var mCurY 0fprivate var mCanDrawBitmap falseprivate var W 0private var H 0private val SCALE_FACTOR: Float 5.5fprivate var mOriginBmp: Bitmap? nullprivate var mCirclePaint Paint()private var mDeltaScaleFactor: Float 0fprivate var mAnimScaleBmp: Bitmap? nullprivate var mCanDrawTouchPoint falseprivate var mTouchPointX 0fprivate var mTouchPointY 0fconstructor(ctx: Context, attrs: AttributeSet) : super(ctx, attrs) {mCirclePaint.style Paint.Style.STROKEmCirclePaint.strokeWidth 10fmCirclePaint.isAntiAlias truemCirclePaint.color Color.REDmOriginBmp (this.drawable as BitmapDrawable).bitmap}override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {super.onSizeChanged(w, h, oldw, oldh)W wH hLog.d(fly, W$W H$H)}override fun onTouchEvent(event: MotionEvent?): Boolean {if (event null) {return false}mCurX event.xmCurY event.ywhen (event.actionMasked) {MotionEvent.ACTION_DOWN - {//启动动画。startScaleAnim()}}return false}/*** Bitmap.createScaledBitmap耗时加剧卡顿。* 优化方案基于原图setRectToRect缩放到给定宽w高h的放大图。*/private fun getScaleBmp(w: Int, h: Int): Bitmap {val bmp Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888)val c Canvas(bmp)c.drawColor(Color.BLUE)val src RectF(0f, 0f, mOriginBmp!!.width.toFloat(), mOriginBmp!!.height.toFloat())val dst RectF(0f, 0f, w.toFloat(), h.toFloat())val mx Matrix()mx.setRectToRect(src, dst, Matrix.ScaleToFit.CENTER)c.drawBitmap(mOriginBmp!!, mx, null)return bmp}private fun startScaleAnim() {val step 50f //经过step后完成缩放动画。val delta (SCALE_FACTOR - 1) / stepCoroutineScope(Dispatchers.IO).launch {//绘制在原图上手的触点。mTouchPointX mCurXmTouchPointY mCurYmCanDrawTouchPoint truemyPostInvalidate()delay(500) //延时观察手指触点。mCanDrawTouchPoint falsemCanDrawBitmap truefor (i in 0 until step.toInt()) {mDeltaScaleFactor 1f delta * i/*mAnimScaleBmp Bitmap.createScaledBitmap(mOriginBmp!!,(W * mDeltaScaleFactor 1).toInt(), //注意精度损失造成坐标偏移。(H * mDeltaScaleFactor 1).toInt(),//注意精度损失造成坐标偏移。true)*/mAnimScaleBmp getScaleBmp((W * mDeltaScaleFactor 0.5).toInt(), (H * mDeltaScaleFactor 0.5).toInt())//触发重绘。myPostInvalidate()}//for循环完成后绘制最终图片动画放大完成后的中心圆点。mTouchPointX W / 2fmTouchPointY H / 2fmCanDrawTouchPoint truemyPostInvalidate()}}private fun myPostInvalidate() {this.postInvalidate()}private fun drawTouchPoint(c: Canvas) {c.drawCircle(mTouchPointX, mTouchPointY, 50f, mCirclePaint)}override fun onDraw(canvas: Canvas) {super.onDraw(canvas)if (mCanDrawBitmap) {val mx Matrix()mx.setScale(mDeltaScaleFactor, mDeltaScaleFactor)mx.setTranslate(W / 2f - mCurX * mDeltaScaleFactor, H / 2f - mCurY * mDeltaScaleFactor)canvas.drawBitmap(mAnimScaleBmp!!, mx, null)}if (mCanDrawTouchPoint) {drawTouchPoint(canvas)}} } Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心Kotlin2-CSDN博客文章浏览阅读613次点赞4次收藏5次。需要注意的因为在xml布局里面特别设置了ImageView的高度为wrap_content手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置但是如果ImageView设置成match_parent则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView被拉伸了)拉伸后的Bitmap水平方向坐标与ImageView一直重合但竖直方向Bitmap坐标与ImageView不一致会造成一种现象手指触点放大镜放大后水平方向是正确的但竖直方向有偏移量。https://blog.csdn.net/zhangphil/article/details/135701608Android矩阵setRectToRect裁剪Bitmap原图Matrix放大mapRect标记中心区域Kotlin-CSDN博客文章浏览阅读229次点赞3次收藏5次。【代码】Android矩阵setRectToRect裁剪Bitmap原图Matrix放大mapRect标记中心区域Kotlin。https://blog.csdn.net/zhangphil/article/details/135960921 Android ScaleGestureDetector检测双指缩放Bitmap基于Matrix动画移动到双指捏合中心点ImageView区域中心Kotlin_android的两指捏合-CSDN博客文章浏览阅读256次点赞5次收藏11次。需要注意的因为在xml布局里面特别设置了ImageView的高度为wrap_content手指在屏幕触点的位置是放大镜里面放大图片后准确圆心位置但是如果ImageView设置成match_parent则因为ImageView里面的Bitmap被缩放(此处Bitmap其实小于ImageView被拉伸了)拉伸后的Bitmap水平方向坐标与ImageView一直重合但竖直方向Bitmap坐标与ImageView不一致会造成一种现象手指触点放大镜放大后水平方向是正确的但竖直方向有偏移量。_android的两指捏合https://blog.csdn.net/zhangphil/article/details/135705931
http://www.hkea.cn/news/14594162/

相关文章:

  • 自建房设计网站推荐东莞服务行业推广软件
  • 怎么用自己的电脑做网站数据分析师是干嘛的
  • 为什么招聘网站做不大网图素材库
  • 公司网站的宣传栏怎么做网站建设先进部门评选标准
  • 12306网站制作上海优化排名网站
  • 做摄影网站的目的是什么意思怎么向百度提交网站
  • 建设网站需要api吗深圳东门街道办事处电话
  • 上市公司网站设计wordpress4.9漏洞利用
  • 教育局网站建设管理工作意见WordPress迁移网站打不开
  • 电脑网站拦截怎么解除新密做网站优化
  • 一元夺宝网站建设费用嵌入式软件培训
  • 商业网站建设与运营专业集团门户网站建设服务商
  • 网站建设推广工资广告机自建站模板
  • 电子书网站建设app网站开发报价
  • 食品网站app建设方案东昌府网站建设公司
  • 织梦做手机网站wordpress标题图标
  • 如何查询到某网站开发商在线网站你们会回来感谢我的
  • 哪些网站可以做外链吴江市中云建设监理有限公司网站
  • 网站机房建设解决方案南宁百度seo放心选择
  • 五力合一营销型网站建设系统黄山风景区
  • 论述网站建设引言国际网站卖东西怎么做
  • 网站备案号申请流程wordpress快速扒站
  • 安徽湖滨建设集团网站职业培训学校加盟
  • 网站改版 程序变了 原来的文章内容链接地址 打不开怎么办支持asp的免费空间 适合钓鱼网站
  • 南昌seo建站网易企业邮箱入口 官网
  • 怎样建设网站呢网络设置ip地址
  • 医院门户网站开发动漫设计制作专业
  • 闸北区网站制作我做夫人那些年网站登录
  • 微网站建设的第一步是什么 标题专业做股权众筹的网站
  • 杭州网站制作排名wordpress页面 文章