android– 拉伸缩放视图位图的特定区域

android– 拉伸缩放视图位图的特定区域,第1张

概述我正在尝试将ScaleAnimation应用于View,但我有一些非传统的要求:我想只扩展View的一个非常特定的区域.使用现有的ScaleAnimation类,我可以轻松地统一缩放视图.我还可以设置一个关于缩放视图的轴心点.以下是一个例子:这很简单.但是我希望实现以下目标,这是通过仅缩放视图的特定区域(

我正在尝试将ScaleAnimation应用于VIEw,但我有一些非传统的要求:我想只扩展VIEw的一个非常特定的区域.

使用现有的ScaleAnimation类,我可以轻松地统一缩放视图.我还可以设置一个关于缩放视图的轴心点.以下是一个例子:

这很简单.但是我希望实现以下目标,这是通过仅缩放视图的特定区域(或者在这种情况下是笑脸中间的小水平矩形)得到的:

我挖掘了ScaleAnimation的源代码,以下函数似乎负责缩放:

protected voID applytransformation(float interpolatedTime, transformation t) {    float sx = 1.0f;    float sy = 1.0f;    if (mFromX != 1.0f || mToX != 1.0f) {        sx = mFromX + ((mToX - mFromX) * interpolatedTime);    }    if (mFromY != 1.0f || mToY != 1.0f) {        sy = mFromY + ((mToY - mFromY) * interpolatedTime);    }    if (mPivotX == 0 && mPivotY == 0) {        t.getMatrix().setScale(sx, sy);    } else {        t.getMatrix().setScale(sx, sy, mPivotX, mPivotY);    }}

由于这个函数只是将一个缩放 *** 作应用于矩阵,我以为我可以使用某种矩阵运算来编写自定义比例动画,但我的线性代数知识缺乏.对此的解决方案可能要简单得多,因为好像其他人会遇到这个问题,但我找不到任何解决方案.提前致谢.

解决方法:

矩阵转换整个位图.您无法使用单个矩阵缩放区域.

总结

以上是内存溢出为你收集整理的android – 拉伸/缩放视图/位图的特定区域全部内容,希望文章能够帮你解决android – 拉伸/缩放视图/位图的特定区域所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1116998.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存