缩放 ImageView 的图像,同时将中心点保持在同一位置

2024-04-25

我已将预缩放位图设置为 ImageView 的源。然后我读了矩阵ImageView并通过以下方式移动 ImageView 的位图matrix.postTranslate(shiftX, shiftY).

现在我想放大/缩小图像,同时保持中心ImageView在缩放之前位图的同一点。

如果我尝试使用以下命令放大图像matrix.postScale(zoom, zoom),我想要保持的点(蓝点)转移到其他地方(紫点)。

我尝试了几种不同的方法将位图移回原位,但无法使其正常工作。我知道初始位图大小、ImageView 大小、虚线标记的距离。尝试计算所需的班次和使用matrix.postTranslate(-zoomshiftX, -zoomshiftY)之后,但它没有正确移动。

即使发现,在matrix.postScale()函数之后底层位图的像素计数没有改变,并尝试了matrix.postTranslate(-zoomshiftX/zoom, -zoomshiftY/zoom) - 但仍然没有运气。

我如何实现这样的缩放?


看看我在这里关于创建可缩放 ViewGroup 的问题。我已经描述了最终解决方案中的代码片段,其中一些可能会有所帮助。

扩展RelativeLayout,并重写dispatchDraw()来创建可缩放的ViewGroup https://stackoverflow.com/questions/6378904/extending-relativelayout-and-overriding-dispatchdraw-to-create-a-zoomable-view/6490515#6490515

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

缩放 ImageView 的图像,同时将中心点保持在同一位置 的相关文章

  • 如何在android中实现触摸平滑图像橡皮擦?

    我已经从 API 演示中看到了finturePaint java 我想实现触摸平滑橡皮擦 通过在android中触摸移动来擦除部分图像 FingerPaint 告诉我要实现这个 mPaint setXfermode new PorterDu
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • android edittext中的字符映射

    我想让我的编辑文本就像我写字符 g 时一样 它是相关的映射自定义字符应该写成印地语中的 我认为应该有字符映射 但没有知识任何人都可以帮助我 怎么做 其他应用程序https play google com store apps details
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Android短音的正确播放方法?

    我正在创建一个应用程序 屏幕上将有多个图像 这些图像将是按钮 点击时会播放短促的声音 我对此进行了研究 只能找到我当前用来播放声音的方法 这似乎根本没有响应 我希望声音能够快速播放并且能够响应多次快速点击 我不确定这在 Android 中是
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • Gradle 构建错误:无法从 https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml 加载 Maven 元数据

    我在 Android studio 中遇到 gradle 构建错误 如下所示 Error A problem occurred configuring project MyApp Could not resolve all dependen
  • 如何在我现有的 Android 应用程序中使用 Telegram API(包括聊天应用程序)?

    我想使用 telegram API 在我现有的 Android 应用程序中开发聊天功能 我不知道如何实施 我认为 看看Telegram 数据库库 测试版 从这里TDLib https core telegram org tdlib 俄语 但
  • 以编程方式将文本颜色设置为主要 Android 文本视图

    如何设置我的文本颜色TextView to android textColorPrimary以编程方式 我已经尝试了下面的代码 但它将 textColorPrimary 和 textColorPrimary Inverse 的文本颜色始终设
  • ExoPlayer2 - 如何使 HTTP 301 重定向工作?

    我开始使用 ExoPlayer 来传输一些音频 一切都很顺利 直到我遇到一个带有 301 永久移动 重定向的 URL ExoPlayer2 默认情况下不处理该问题 我已经看过这个线程 https github com google ExoP
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • 使用片段时应用程序崩溃

    我正在处理碎片和 我的代码中有一个我找不到的问题 logcat 指向我的一个片段中的这段代码 Override public View onCreateView LayoutInflater inflater ViewGroup conta
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • 如何使用 AccessibilityService 在 Android 中模拟按键

    我正在编写一个辅助服务 我一直在尝试在应用程序上进行一些自动搜索 我使用accessibilityservice action paste来填充EditText 然后我需要模拟软键盘上的按键 但我不知道如何做 你们能帮我一下吗 你可以尝试A
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 使用 HTML/CSS 使表格在移动设备上响应

    我有这张表 它是一封较大电子邮件的一部分 当用户的设备是手机或小屏幕时 我希望表格从 2 列 2 行变为 1 列 4 行 希望使用尽可能少的代码 table style width 100 font family none color 33
  • 如何在 PHP 或 MySQL 中查找日期是否符合某个区间?

    假设我有一个日期时间 2011 年 6 月 16 日 7 00 我希望能够在 2011 年 8 月 5 日的 7 00 进行检查 并能够知道它恰好是自第一次日期以来 1 天的倍数 而 7 01 不算在内 因为它不是精确倍数 另一个测试集 假
  • 这个 NLP 问题层次结构描述中的最大池化是什么类型

    我正在尝试实现这个描述以及我所做的 我生成了形状的 uni gram bi gram tri gram 15 512 使用填充 然后对于每个单词 我连接三个特征向量 3 512 然后我向他们申请 Globalmaxpooling1D 我不知
  • 检查每个页面请求的标头

    我需要检查每个页面请求的请求标头 我认为尝试这个的地方应该是在 撇号 express 模块中 我创建了自己的模块 auth 它扩展了 apostrope express module exports extend apostrophe ex
  • Vim - 删除多行中的直到(包括)字符

    我有这个代码 def foo c Char c match case a B 我的光标位于后面的空格上 我想删除所有内容 直到 包括 我怎样才能做到这一点 我可以在光标位于第一行任意位置时执行相同操作吗 块中的任何位置 并将光标放在 d e
  • 动态添加的 Facebook 发送按钮未呈现

    我想在页面加载后动态添加一个 Facebook 发送按钮 iframe 尚不支持 由于网站的构建方式 它将成为通过 AJAX 在用户上加载的 HTML 模板的一部分 行动 虽然我正在导入 FB JavaScript SDK 但当我通过 AJ
  • Protractor/Jasmine 条件测试用例

    与此问题相关 如何使用 Protractor 创建条件测试用例 https stackoverflow com questions 36701985 how can i create conditional test cases using
  • 我可以使用什么方法从 VBA 调用 Web 服务?

    从 Excel 调用 Web 服务的最简单方法是什么 我使用的是 2002 版 请不要使用第三方工具或库 这必须很容易使用一些 VBA 我可以将其粘贴到那里 使用它并随时触摸 我不认为有任何特别简单的方法可以直接从 VBA 与 SOAP 对
  • 如何使用 Web3.js 或 Ethers.js 强制传输 NFT

    我正在尝试构建一个应用程序 其中一部分涉及将 NFT 从我的帐户转移到用户的帐户 以前 我使用 Moralis 来完成此任务 但这段代码抛出了一个错误 Error Contract with a Signer cannot override
  • 如何在 Javascript 中从 Firefox 剪贴板获取内容

    我非常沮丧地在我的 React 应用程序上从剪贴板进行粘贴 I used navigator clipboard readText 在 Chrome 浏览器上完美运行 但它在我最新的 Firefox 浏览器上不起作用 我尝试搜索SO 但与之
  • Spring Data Redis - Lettuce连接池设置

    尝试在 spring data redis 环境中设置 Lettuce 连接池 下面是代码 Bean LettuceConnectionFactory redisConnectionFactory GenericObjectPoolConf
  • Gulp - 术语“gulp”未被识别为 cmdlet 的名称

    当我开始一个新项目并创建一个新的 gulpfile 时 开始出现这个随机错误 每当我跑步时我都会得到它 这不仅发生在这个项目上 而且已经开始发生在所有其他项目上 我读到环境变量可能存在问题 所以我更新了这些变量 我最近还运行了 ruby 安
  • 在 javascript 中格式化日期直至毫秒

    我们正在使用来自 Microsoft 的以下 js 库https ajax aspnetcdn com ajax 4 0 1 MicrosoftAjax js https ajax aspnetcdn com ajax 4 0 1 Micr
  • Angular 2 --aot 导致 AnimationEntryMetadata 失败

    我的代码可以正常工作ng build and ng build prod但是 当我将 oat 添加到命令中时 它会失败并出现以下错误 Uncaught Error Module build failed Error C Users drem
  • Google 气泡图自定义工具提示列不呈现

    我正在尝试将自定义工具提示添加到气泡图中 以替换默认的工具提示 我已按照文档网站的说明进行操作 here https developers google com chart interactive docs customizing tool
  • MultipartFile 文件名中的特殊字符转换为?在春季启动

    我想知道为什么 spring boot 将 MultiPartFile 文件名特殊字符转换为 例如 pdf 转换为 pdf 我需要配置 Spring 来禁用此行为吗 我已经检查了我的 jvm 配置中的 file encoding 它已经设置
  • DRY:如何在 Symfony2 项目的多个实体中使用此代码?特质?

    我有一段重复的代码 将在我的 Symfony2 项目中的多个实体中使用 因此应用某种 DRY 就可以了 当然如果可能的话 我正在考虑PHP 特性 http php net manual en language oop5 traits php
  • 如何在M1 arm64架构上安装PyQt5?

    我有一台 M1 mac 但我注意到 每当本机 python 运行任何自动化脚本 如 PyAutoGui 时 它都会逐渐变得越来越慢 几乎就像受到了限制一样 我用 Miniforge3 创建了一个能够利用 Apple 芯片的环境 使脚本运行得
  • 如何制作进度条

    如何在 html css javascript 中制作进度条 我真的不想使用Flash 可以在这里找到类似的内容 http dustincurtis com about html http dustincurtis com about ht
  • 缩放 ImageView 的图像,同时将中心点保持在同一位置

    我已将预缩放位图设置为 ImageView 的源 然后我读了矩阵ImageView并通过以下方式移动 ImageView 的位图matrix postTranslate shiftX shiftY 现在我想放大 缩小图像 同时保持中心Ima