位图到 NinePatch 到新缩放位图

2023-12-01

我的问题是这样的:

我需要创建一个使用 NinePatch 创建的重新缩放的位图。

我当前的系统从 NinePatch 文件创建位图。然后将其输入到 NinePatch(或 NinePatchDrawable)中。然后我需要调整它的大小并输出到另一个位图。

我已审查过this这很有帮助。

这是我当前的代码:

try {
        Bitmap bitmap1 = BitmapFactory.decodeStream(getAssets().open("gfx/head.9.png"));

        // Using NinePatch?
        NinePatch patch = new NinePatch(bitmap1, bitmap1.getNinePatchChunk(), null);
        // Or NinePatchDrawable?
        NinePatchDrawable patch = new NinePatchDrawable(bitmap1, bitmap1.getNinePatchChunk(), new Rect(), null);

        // Set dimensions from NinePatch and create new bitmap
        // Bitmap bitmap2 = ?
}
catch (IOException e) {
        e.printStackTrace();
}

public static Bitmap get_ninepatch(int id,int x, int y, Context context){
        // id is a resource id for a valid ninepatch

        Bitmap bitmap = BitmapFactory.decodeResource(
                context.getResources(), id);

        byte[] chunk = bitmap.getNinePatchChunk();
        NinePatchDrawable np_drawable = new NinePatchDrawable(bitmap,
                chunk, new Rect(), null);
        np_drawable.setBounds(0, 0,x, y);

        Bitmap output_bitmap = Bitmap.createBitmap(x, y, Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(output_bitmap);
        np_drawable.draw(canvas);

        return output_bitmap;
    }

X 和 Y 是您希望 ninepatch 有多大,上下文是您的应用程序上下文,因此您可以获取位于 id 的 ninepatch 资源

请注意,如果您打算在 OpenGL 中使用此位图,X 和 Y 必须是 2 的幂

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

位图到 NinePatch 到新缩放位图 的相关文章

  • 停止在列表视图中滚动

    我的活动中有一个列表视图和一个图像按钮 当我单击图像按钮时 我想转到列表中的特定位置 我通过调用列表上的 setSelection intposition 来实现此目的 当用户滑动列表视图然后单击图像按钮时会出现问题 列表将转到指定位置但继
  • 411 需要内容长度

    我正在尝试使用 Android Apache HttpClient 执行 POST 但它返回错误 411 Content Length required 这是代码 HttpClient httpClient new DefaultHttpC
  • Android布局中如何实现Button的自动宽度

    我有几个垂直列出的按钮 我需要它们都具有相同的宽度 而且还要显示其中的所有文本 基本上我需要所有它们的宽度作为最大的宽度的包裹宽度 希望我解释得很好 现在 我已经有一种布局可以在我的 Samsung Galaxy S2 4 1 2 上运行
  • Android中的OpenGL用于视频显示

    是否可以使用 OpenGL 来显示视频并能够在运行时调整视图大小 是的 它的工作原理是通过 glTexSubImage2D 将每个帧作为纹理上传 我已经测试了基于 FFmpeg 的解码器的输出 效果很好
  • Android studio 模拟器中运行的WebView无法访问互联网,但Chrome可以?

    我安装了 Android studio 1 0 1 并按照此页面操作https developer chrome com multidevice webview gettingstarted https developer chrome c
  • Android 操作系统上的 NFC 堆栈

    有人可以帮助我了解 NFC Android 堆栈的当前状态吗 随着OS 2 3发布了小型 NFC 支持 仅限于 NXP 标签读取 后来 Google 增强了 API 所以在OS 2 3 3支持更广泛的标签 并且还可以使用 p2p 我的问题是
  • 在 Android 中完成一项活动?

    我有一些活动 Home Activity gt Activity 1 gt Activity 2 gt Activity 3 gt HomeActivity finish finish finish Home Activity gt Act
  • Room - LiveData 观察器在数据库更新时不会触发

    我试图在下面的代码中找出 为什么在我用新数据填充数据库后 Room 的 LiveData observable 不会给我新的转变 这是放在我的活动的 onCreate 方法中 shiftsViewModel ViewModelProvide
  • 为什么大多数 Android 设备不像典型操作系统那样有交换区域?

    现在有 Android 支持交换区域来提高性能吗 出于哪些考虑 大多数 Android 设备放弃了该功能 现在有 Android 支持交换区域吗 Quoting 黛安 哈克伯恩 https groups google com d msg a
  • 没有 Listview 的 Android 导航抽屉

    我想创建一个像导航抽屉一样的滑动菜单 但是将会有文本视图和图像视图 就像半活动一样 有可能做到这一点吗 您可以使用NavigationDrawer来自支持库 包括一个FrameLayout作为一个孩子DrawerLayout并使androi
  • 迭代 Sqlite-query 中的行

    我有一个表布局 我想用数据库查询的结果填充它 我使用全选 查询返回四行数据 我使用此代码来填充表行内的 TextView Cursor c null c dh getAlternative2 startManagingCursor c th
  • Android 改造参数化@Headers

    我正在使用 OAuth 每次发出请求时都需要将 OAuth 令牌放入标头中 我看到 Header注释 但是有没有办法让它参数化 以便我可以在运行时传入 这是概念 Header Authorization OAuth var api vers
  • Kotlin 中的枚举类对于 Android 来说是否像 Java 中那样“昂贵”?

    Are EnumKotlin 中的类对于 Android 来说 昂贵 就像 Java 一样 还可以用吗 IntDefs or StringDefs在科特林 当我将 Kotlin Enum 类反编译为 Java 类时 底层仍然使用了 Java
  • 在 WebView 中打开 PDF 文件

    大约 2 天 我尝试在我的自定义中打开 PDF 文件WebvView 这是我的WebView code import android app AlertDialog import android app ProgressDialog imp
  • 以编程方式安装 Android apk 作为测试框架的一部分

    我正在尝试以编程方式安装 apk 但运气不佳 我正在设置一个针对物理设备的自动化测试框架 并且我希望测试设备在运行测试之前从构建服务器检索最新的 apk 虽然我知道没有通用的方法可以在未经用户同意的情况下实际安装 apk 但我很好奇在开发人
  • 如何创建克隆重复视图?

    在我的 Android 应用程序中 我想创建重复的ImageButton已经创建的Imagebutton 我想创造新的Imagebutton以编程方式与 XML 文件中已创建的按钮具有相同的宽度 高度 背景 图像源 边距等 简而言之 我想创
  • Android 预安装检测

    我的 Android 应用程序将被预安装 我想继续跟踪预安装的应用程序 为此 我需要以某种方式保存密钥或标志 这意味着该应用程序是预安装的 我会将此密钥添加到后端的每个请求中并对其进行分析 我对此有疑问 有一个问题是关于从 Google P
  • 无法查询 ContentResolver 以从 my_downloads 获取下载文件的名称,但在 all_downloads 中工作正常

    我的应用程序设置为激活一次具有扩展名的文件 myappdata被打开 它通过这个意图过滤器来实现这一点
  • 使用 Arduino 来操作 Android [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人尝试过让 Android 和 Arduino 相互通信吗 我在网上找到了几个项目 Amarino http www amarino tool
  • 智能手机可以通过 3G/4G 进行点对点通信吗?

    我正在尝试编写一个应用程序 将数据从一个 Android 设备传输到另一个 Android 设备 但这些设备很可能位于城市 州或国家的不同部分 直接的方法是拥有一台中央服务器 或任何类型的服务器 但我试图避免使用中央服务器 我试图传递的数据

随机推荐

  • 在 Windows 命令行中使用双引号提取密码存档

    我想从 PHP 中提取存档文件 zip rar z7 gz 等 因为密码可以包含特殊字符 例如 并且 PHP exec 不支持 unicode 字符 出于某种原因 我最终使用了一个批处理文件 如此处所述php exec 在 unicode
  • 无法打开包含文件:“io.h”:没有这样的文件或目录

    我试图使用 Cython 编译一个简单的 pyx 文件 print hello 这是我的 setup py from distutils core import setup from Cython Build import cythoniz
  • 根据 VBA 2010 中的字符断开字符串

    在 Excel 2010 中 使用 VBA 如何在找到某个字符时拆分字符串 Let say A1 This is a test of the emergency broadcast signal 我将其分配给一个变量 例如 strColum
  • React Native - 当应用程序不在后台时深度链接不起作用(Android,iOS)

    if app in background 将打开特定屏幕 if app is not in background or kill the app 它只会显示第一个屏幕 Linking getInitialURL 返回 null 如果您想在应
  • 如何查找我的 Subversion 服务器版本号?

    我想知道我的服务器是否运行 Subversion 1 5 我怎样才能找到它 如果知道我的 SVN 客户端版本号也很高兴 svn help没有帮助 Note 我不想要我的项目的修订号等 这个问题是关于颠覆软件 itself 要查找 subve
  • 如何将对象传递给 HttpClient.PostAsync 并序列化为 JSON 正文?

    我在用着System Net Http 我在网上找到了几个例子 我设法创建了这个代码POST要求 public static string POST string resource string token using var client
  • 在 MapKit 中显示行车路线

    有没有办法在 iPhone MapKit 中显示行车路线 有没有办法从 google MAPs API 获取 XML 或其他格式的路线坐标和名称 例如 不可以 您不能使用 MapKit 获取行车路线 它不支持这一点 但是 您可以在 MapK
  • 使用 NetTcpBinding 进行双工通信 - ContractFilter 不匹配?

    我正在使用 NetTcpBinding 在客户端和服务器之间打开双工通信通道方面取得缓慢而稳定的进展 仅供参考 你可以观察我的新手进度here and here 我现在正处于已成功连接到服务器的阶段 通过服务器的防火墙 客户端可以向服务器发
  • 向 Chrome 扩展程序的右键菜单添加选项

    有谁知道是否可以在 Chrome 中的鼠标右键菜单中添加另一个与扩展程序通信的选项 我的意思是 安装扩展程序后 鼠标右键单击菜单中会出现另一个选项 该选项会将数据发送到扩展程序打开的侦听器 这是解决方案 rightClickHandler
  • Yii URL 管理 HTTPS

    我使用代码来分隔网站中的 HTTPS 和 HTTP 页面 问题是 当我使用 HTTP 时 到 HTTPS 的链接没有 WWW 反之亦然 我在脚本中没有发现问题 public function createUrl route params a
  • 如何找到python包的反向依赖

    我有一个虚拟环境 其中elasticsearchpython 包已安装 我想找到哪个包依赖elasticsearch并在虚拟环境中进行安装 venv root test pip freeze grep elast elasticsearch
  • Autofac:用参数解决依赖关系

    我目前正在学习 Autofac 的 API 并且正在尝试了解在我看来非常常见的用例 我有一个类 对于这个简单的示例 MasterOfPuppets 它具有通过构造函数注入接收的依赖项 NamedPuppet 该依赖项需要使用 字符串名称 构
  • model.predict() == ValueError:检查输入时出错:期望 flatten_input 有 3 个维度,但得到形状为 (1, 2) 的数组

    该项目背后的想法是最终删除 测试 变量并利用来自传感器的真实数据 测试环境有效 但现在我希望能够使用真实数据 使用两个数据点 从 1 到 100 的整数 作为输入 土壤湿度和下雨机会 底线 我只想输入两个数字并获得模型对要采取的操作的最佳预
  • Vim - 在距行开头特定偏移处搜索带有(或不带有)字符的行

    我想找到第 78 列 该行的第 78 个字符 不是空格的所有行 理想情况下 我想像普通搜索一样使用它 您可以使用此模式 78c S 78c匹配第 78 列的位置 实际上 该列是字节数 因此对于多字节字符来说并不完全正确 使用 78v匹配虚拟
  • 在 WooCommerce 中的产品库下显示标题

    我试图在产品页面库的缩略图下显示标题文本 我需要显示文本 因为图库中有很多图像 每个拇指都是引擎的一部分 并且名称可以帮助用户 WooCommerce 产品页面中图库的代码是 echo apply filters woocommerce s
  • PHP fork 进程 - 在父级中获取子级输出

    我想实现以下目标 初始化一个数组 子进程向数组添加一些元素 父进程向数组添加一些元素 最后在退出之前 打印所有元素 以下是我写的代码 然而 它只打印一个值 Put by parent 有人可以解释一下这种行为并建议正确的代码吗 问候 J P
  • Android Studio 中应用程序安装失败

    昨天我的应用程序运行完美Android Studio但是今天当我开始开发我的应用程序并运行它时 我不断收到错误消息 安装失败 并显示消息无法建立会话 Screen 单击时OK收到错误消息 会话 app 安装 APK 时出错 并且设备中不存在
  • WooCommerce:从匹配属性获取产品变体 ID

    如何从自定义产品循环中获取产品变体 ID 我有变异属性 例如 pa color gt red pa size gt large 要匹配的属性集是 attribute pa color gt blue attribute pa size gt
  • 可以阻止 XCode 在调用“XCUIApplication().terminate()”后调用调试器

    我正在使用 UITest 来测试 Objective C 应用程序 并使用 swift 进行测试 XCode 7 3 SIM 9 3 每个测试用例都会调用 XCUIApplication launch 它通过发送 SIGKILL 来终止任何
  • 位图到 NinePatch 到新缩放位图

    我的问题是这样的 我需要创建一个使用 NinePatch 创建的重新缩放的位图 我当前的系统从 NinePatch 文件创建位图 然后将其输入到 NinePatch 或 NinePatchDrawable 中 然后我需要调整它的大小并输出到