首页 > 解决方案 > 如何从外部光栅化图像创建矢量资产而不获得“非常长的矢量路径”

问题描述

几乎每次我从png/jpeg文件创建矢量资产时,我都会收到此警告

非常长的矢量路径(3064 个字符),这对性能不利。考虑降低精度、去除次要细节或光栅化矢量。

3064 ? 我的意思是来吧,它只是一个简单的拇指。拇指图标

这是我在 ( Vector Paint )svg中导出我的作品后得到的代码

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" version="1.1">

<g class="currentLayer" style=""><title>Layer 1</title><g id="#ff5916ff" class="">
<path fill="#ff5916" opacity="1.00" d="M11.589765545115071,3.6051594063448498 C11.863159472273196,3.593799547875676 12.137310723329264,3.593799547875676 12.411461974385332,3.6051594063448498 C12.659864212911273,3.7816158745660218 13.002174614782383,3.571079830937329 13.256635444491884,3.7361764406893236 C13.383865859346635,3.751322918648224 13.521698808772612,3.7339044689954903 13.634540069566413,3.8088795348920392 C13.669376968871873,3.817967421667376 13.740565415278695,3.8346285474221666 13.77540231458417,3.84295911029956 C13.900360757745084,3.8921851636659817 14.032892439885444,3.913390232808439 14.160880178638145,3.94898445601185 C14.235097920636747,3.974733468541981 14.308558338737406,4.0027544527659416 14.381261432940121,4.032290084785796 C14.503947904407198,4.089089377131664 14.630420995364005,4.134528811008362 14.757651410218756,4.179968244885057 C14.858375488645436,4.229951622149425 14.959099567072109,4.28144964720968 15.059066321600838,4.332947672269938 C15.097689840396031,4.352638093616505 15.174179554088468,4.3912616124116965 15.212045748985716,4.4101947098603205 C15.250669267780907,4.427613159513054 15.327158981473346,4.463964706614412 15.365782500268537,4.4813831562671425 C15.471807845980834,4.546513011490408 15.573289248305457,4.619216105693123 15.682343889609527,4.6798020175287185 C15.936047395421078,4.823693558138256 16.15567132582511,5.020597771603942 16.404830888248995,5.172819875090873 C16.706245799631084,5.452272393432558 16.992514233054266,5.748386037529027 17.279539990375405,6.042985033829609 C17.524155609411622,6.376964872823326 17.792248269284123,6.695798233858149 18.008842904096383,7.048711170300489 C18.06715684423814,7.1713976417675696 18.126228108277843,7.293326789336703 18.18757134401138,7.41374128910995 C18.227709510602466,7.494774946190056 18.269362324989437,7.575051279372222 18.310257815478465,7.656084936452331 C18.380688937987344,7.797704505368031 18.437488230333216,7.945382665467296 18.494287522679087,8.09306082556656 C18.569262588575633,8.242253633461711 18.590467657718094,8.408107567111657 18.646509626166015,8.563358966190364 C18.655597512941355,8.598195865495832 18.673015962594093,8.669384311902657 18.682103849369426,8.704221211208125 C18.732844550531738,8.798129374553298 18.741932437307078,8.904912044163531 18.760865534755702,9.008665418181991 C18.86689088046799,9.17376202793399 18.75783623916392,9.394143282235966 18.885823977916615,9.54939468131468 C18.925204820609757,9.797796919840621 18.818422150999524,10.08330802936586 18.960799043813168,10.30596125536167 C18.972158902282345,10.580112506417741 18.972158902282345,10.855021081371753 18.96155636771111,11.129172332427821 C18.830539333366637,11.30259950505721 18.916116933834417,11.53509794172631 18.885823977916615,11.735031450783772 C18.776012012714602,11.867563132924136 18.848715106917318,12.055379459614482 18.760865534755702,12.198513676326076 C18.741932437307078,12.299995078650696 18.729057931042014,12.402991128771209 18.691949060042717,12.499171263810219 C18.66620004751259,12.57490365360471 18.63969371108451,12.650636043399203 18.612430050758498,12.725611109295755 C18.590467657718094,12.802100822988194 18.56547596908591,12.877833212782686 18.537454984861945,12.952050954781289 C18.514735267923598,13.027026020677837 18.490500903189357,13.10124376267644 18.463237242863343,13.174704180777098 C18.41173921780309,13.273913611407888 18.360241192742826,13.373880365936621 18.307985843784635,13.473089796567407 C18.258002466520267,13.57457119889203 18.207261765357956,13.676052601216654 18.15500641639975,13.776019355745383 C18.117140221502503,13.858567660621382 18.07775937880936,13.940358641599438 18.041407831708014,14.022906946475434 C17.726361090162918,14.577268039771127 17.308318298497312,15.058168714966165 16.905421984790607,15.54664262914065 C15.281719547596651,17.162771827355158 13.66861964497393,18.789503560140886 12.041887912188201,20.403360786661544 C12.021440166943691,20.403360786661544 11.980544676454656,20.403360786661544 11.959339607312202,20.403360786661544 C10.231883796099794,18.68953680561215 8.5180598150504,16.960566346603855 6.792875975531828,15.24371306996268 C6.493733035843576,14.880197598949103 6.187016857175877,14.516682127935532 5.96587827897595,14.09712468847404 C5.921196168997199,14.010032440210367 5.85985293326366,13.933542726517931 5.795480401938342,13.860839632315216 C5.793965754142455,13.819186817928248 5.790179134652725,13.737395836950192 5.787907162958895,13.696500346461164 C5.754584911449314,13.666207390543367 5.68794040843016,13.606378802605718 5.653860833022641,13.576843170585864 C5.63568505947196,13.494294865709868 5.613722666431558,13.414018532527706 5.587216330003486,13.334499523243487 C5.52360112257611,13.21105572787846 5.477404364801465,13.079281369636039 5.425906339741211,12.951293630883345 C5.418333100761764,12.914184759884044 5.403943946700807,12.839967017885442 5.39637070772136,12.803615470784084 C5.364563104007672,12.727883080989592 5.3350274719878215,12.651393367297146 5.307006487763857,12.57490365360471 C5.271412264560446,12.44615859095407 5.255508462703602,12.311354937119873 5.197951846459787,12.189425789550736 C5.188863959684447,12.117480019245967 5.179776072909107,12.044776925043251 5.17144551003171,11.972831154738486 C5.063905516523533,11.816822431761828 5.122976780563235,11.619160894398195 5.100257063624888,11.443461750074974 C5.012407491463279,11.348038938933911 5.035127208401626,11.217021904589433 5.030583265013952,11.09963670040797 C5.038156503993406,10.658116867906067 5.024524673830392,10.21659703540417 5.038913827891349,9.77583452680021 C5.172960157827603,9.621340451619446 5.048759038564633,9.394143282235966 5.169930862235823,9.234347939769581 C5.184320016296773,9.107117524914834 5.1737174817255465,8.972313871080633 5.239604660846759,8.857200638593003 C5.2585377582953825,8.753447264574547 5.265353673376886,8.645907271066363 5.319123670130978,8.55351375551708 C5.327454233008368,8.517162208415726 5.342600710967268,8.44445911421301 5.350173949946715,8.408107567111657 C5.391826764333686,8.310412784276757 5.425906339741211,8.20968870585008 5.468316478026125,8.112751246913128 C5.522843798678167,7.987792803752214 5.566768584758968,7.859047741101573 5.613722666431558,7.731817326246823 C5.633413087778123,7.693951131349575 5.672793930471265,7.618976065453026 5.692484351817832,7.581109870555778 C5.742467729082193,7.480385792129106 5.792451106346562,7.378904389804482 5.840919835815036,7.2781803113778025 C6.0878074265450906,6.835145831080016 6.360444029805265,6.398927265863733 6.711084994553772,6.031625175360432 C6.913290475305075,5.73626885516191 7.172295248402243,5.481050701554462 7.464622273008985,5.2750586013134395 C7.7402881718609455,5.043317488542289 8.025799281386185,4.822178910342366 8.331758136155948,4.63133328806024 C8.403703906460713,4.598768360448609 8.476407000663428,4.5662034328369785 8.549110094866144,4.533638505225344 C8.65362079278254,4.466994002206192 8.755102195107163,4.39353358410553 8.861127540819453,4.328403728882265 C8.99062992736804,4.285236266699407 9.118617666120734,4.239796832822709 9.242818785383704,4.185269512170674 C9.384438354299405,4.108022474580288 9.532873838296616,4.044407267152913 9.688882561273275,4.0012398049700515 C9.7668869227616,3.977005440235814 9.84413396035199,3.94898445601185 9.920623674044428,3.9171768522981623 C9.95621789724784,3.9088462894207687 10.027406343654661,3.892942487563925 10.06300056685808,3.8846119246865314 C10.156151406305305,3.8308419279324397 10.263691399813482,3.8240260128509362 10.367444773831942,3.805850239300259 C10.504520399359976,3.724059258322203 10.66810236131608,3.755109538137951 10.819567140905065,3.7392057362811046 C11.046764310288552,3.5756237743249963 11.364840347425428,3.7747999594845147 11.589765545115071,3.6051594063448498 z" id="svg_1"/>
</g></g></svg>

但是,当我尝试使用 Android Studio 默认剪贴画中的矢量资产时,我会得到更好的结果。

所以我的问题是:

png从/jpeg以尽可能低的矢量路径创建矢量资产的重要参数是什么?

标签: androidvectorandroid-vectordrawable

解决方案


尝试这个

<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp"
        android:tint="#ff5916" android:viewportHeight="24.0"
        android:viewportWidth="24.0" android:width="24dp">
    <path android:fillColor="#FF000000"
          android:pathData="M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,
          13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,
          -7zM12,1.0c0,0 0,0 0,-2.5s1.12,0 0,
          0 0,0 0,0 0,0 0,0"/>
</vector>

输出

在此处输入图像描述

如果你想优化 VectorDrawable检查这个

Vector Drawable 优化工具


推荐阅读