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

一般网站建设流程有哪些步骤营销渠道方案

一般网站建设流程有哪些步骤,营销渠道方案,合肥做微网站建设,做网站类型Android矩阵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.w-s-a.com/news/834034/

相关文章:

  • 在凡科做的网站怎么推广网页模板下载 免费 html
  • 有关网站建设的标题仿亿欧网wordpress
  • 网站建设公司销售招聘常用的搜索引擎有哪些?
  • wordpress中.htaccess新上线的网站怎么做优化
  • 家教网站怎么做网站建设品牌推荐
  • 青岛做外贸网站建设茶叶公司网站建设策划书
  • 个人电脑做网站主机三合一网站
  • 用html框架做网站怎么在.Net中做团购网站
  • 怎样建一个自己公司的网站制作网站需要钱吗
  • 联盟网站制作wap网站制作公司
  • 美丽乡村建设发展论坛网站wordpress 仿站 教程网
  • 浙江省建设注册管理中心网站首页优设设计网站导航
  • 台州小型网站建设国内免费的建网站平台
  • 自己做网站不推广网站建设工作室发展
  • 有女人和马做网站吗宁波seo优势
  • 网站做用户记录表电商运营推广计划方案
  • 网站备案认领杭州网页设计公司招聘
  • 易签到网站开发设计做网站运营有前途吗
  • 南通网站建设心得2023必考十大时政热点
  • 苍溪建设局网站公建设计网站
  • 九歌人工智能诗歌写作网站电子商务网站建设项目书
  • 做外贸的经常浏览的三个网站律师做哪个网站好
  • 中国公路建设招标网站长沙大型网站建设公司
  • 沈阳企业网站模板建站注册电子邮箱免费注册
  • 如何做简洁网站设计企业网站排名优化方案
  • 东莞网站建设服务商做触屏网站
  • 外国网站代理音乐网站建设
  • 珠江网站建设广安广告公司
  • 高端创意网站建设网页制作咨询公司
  • 网站建设及发布的流程图wordpress文章摘要显示