本文介绍了删除填充或强制调整或从正方形向量资源中删除空白以适合矩形按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将all_inclusive svg image调整为我的矩形按钮。形状本身也是矩形的,但向量资源是正方形(24x24),在形状的上下都留有空白。这些空间迫使形状本身变得非常小。如何通过删除顶部和底部的填充将所有包含的SVG设置为矩形?

在此图片中,图像设置为符合左侧、顶部和右侧的指南:

    <ImageView
        android:id="@+id/imgInfinity"
        app:srcCompat="@drawable/ic_infinity"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintTop_toTopOf="0.75"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toEndOf="0.75"
        app:layout_constraintEnd_toEndOf="0.25" />

不起作用的事情:

  • 透视向量资产with a group->我无法在不弄乱原始形状的情况下计算出尺寸。Storty与scaleX/Y或TranslateX/Y相同。不过,我把它用在形状更简单的其他按钮上。
  • 调整android:viewportheight或android:Height->会将图片变形为奇怪的形状
  • 裁剪SVG Online-->由于Googles原始SVG路径数据已有580个字符,裁剪工具只能让Android处理(超过1000个字符)
  • 使用Word裁剪SVG图片并从Zip文件中提取->它不压缩SVG图像,因此它保持矩形,上下留有空格。
  • 为图片顶部设置单独的水平参考线。它确实起到了作用,但每个图像的一个或多个指导方针变得非常混乱。一定有更好的办法,对吧?..

接受的解决方案(使用InkShape编辑):

  • 安装InkShape
  • 打开SVG
  • 单击一次图片将其选中
  • 转到文件->文档属性,然后单击‘调整页面大小以适应绘图或选定内容’(此按钮在第一个选项卡上隐藏,单击+调整页面大小以显示该选项);
  • 保存
  • 从保存的文件中提取pathData和(视区)宽度/高度。

推荐答案

使用Inkscape版本1.1进行更新:

不幸的是,最新版本的Inkscape(1.1)不再直接导入向量可绘制文件,因此最初的答案不是100%正确的。这个答案可能适用于其他可以处理矢量可绘制文件的编辑器。

以下是对该答案的更新,可与更高版本的Inkscape一起使用,从可绘制的矢量中删除所有填充。

将可绘制的矢量转换为缩放的矢量图形(SVG):

  • 打开Alex Lockwood的Shape Shifter site
  • 将矢量可绘制文件从Android Studio拖动到Shape Shifter。
  • 将图像作为SVG导出到本地文件

现在我们有了一个SVG文件,我们可以使用Inkscape编辑它:

  • 如果尚未安装,请安装Inkscape。
  • 在Inkscape中打开SVG文件。
  • 单击图像以将其选中。
  • 根据所选内容调整图像大小(Shift+Ctrl+R或编辑->;将页面大小调整为所选内容)。如果您需要一些填充,也可以指定替代大小。
  • 将图像另存为SVG文件。
图像现在在SVG文件中被裁剪。我们需要将其转换回可绘制向量。

  • 在Android Studio中,将SVG文件作为矢量可绘制文件导入。(文件->;新建->;矢量资产)资产类型=本地文件(SVG、PSD)。

导入后,矢量可绘制文件不再有任何填充。

使用可以处理SVG文件的图像编辑器来裁剪图像。我用过Inkscape,但也有其他的。一旦图像被裁剪,您可以将其作为XML文件导入到Android Studio中。

这篇关于删除填充或强制调整或从正方形向量资源中删除空白以适合矩形按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 14:33