小编Pau*_*eau的帖子

Allocation.copyTo(Bitmap)破坏像素值

我是Renderscript的新手,我的第一个剧本引人注目.据我所知(从我插入的调试语句)我的代码工作正常,但是当它们被Allocation.copyTo(Bitmap)方法复制回Bitmap时,计算值会变得严重.

我得到了奇怪的颜色,所以最终剥离了我的脚本到这个样本,显示了问题:

void root(const uchar4 *v_in, uchar4 *v_out, const void *usrData, uint32_t x, uint32_t y)
{
   *v_out = rsPackColorTo8888(1.f, 0.f, 0.f, 1.f);

   if (x==0 && y==0) {
      rsDebug("v_out ", v_out->x, v_out->y, v_out->z, v_out->w);
   }
}
Run Code Online (Sandbox Code Playgroud)

这里我们只写出一个不透明的红色像素.调试行似乎打印正确的值(255 0 0 255),实际上我在位图中得到一个红色像素.

但是,如果我稍微更改红色像素上的alpha:

*v_out = rsPackColorTo8888(1.f, 0.f, 0.f, 0.998f);
Run Code Online (Sandbox Code Playgroud)

调试打印(255 0 0 254)仍然看似正确,但最终像素值最终为(0 0 0 254)即.黑色.

显然我怀疑这是一个预先提示的alpha问题,但我的理解是,从Bitmaps复制到Bitmaps的Allocation例程应该为你处理.至少这是Chet Haase在这篇博客文章中建议的:https://plus.google.com/u/0/+ChetHaase/posts/ef6Deey6xKA.

此外,没有任何示例计算脚本似乎提及预乘alpha的任何问题.我的脚本基于SDK中的HelloComputer示例.

如果我犯了一个错误,我会喜欢RS大师为我指出它.

令人遗憾的是,经过2年多的努力,Renderscript的文档仍然很糟糕.

PS.我正在使用的位图是ARGB_888,我正在构建和定位SDK18(Android 4.3)

android renderscript

5
推荐指数
1
解决办法
555
查看次数

无法访问本地aar库中的自定义视图?

我有一个包含自定义View类的本地aar文件(包括res / values / attrs.xml文件)。

我知道默认情况下本地aar尚未运行,并且我尝试了此处建议的所有变通方法:如何使用新的Gradle Android Build System手动包括外部aar软件包(Ran和Vipul的答案)。

但是,这些解决方案似乎都没有采用自定义View类。我的意思是它不会出现在布局编辑器的“自定义视图”下。

应该行吗?还是需要一些额外的gradle-fu伏都教徒?

android gradle android-studio aar

5
推荐指数
1
解决办法
293
查看次数

如何设置 SpannableStringBuilder 的重心?

我在一个 TextView 中使用了两种不同的字体:第一种是 SVG 字体,第二种是 TTF 字体。

要将带有文本的图标设置为 TextView,我正在使用它:

        String icon =getContext().getString(iconId);//""
        String text = getResources().getString(labelId);//"AnyText"

        int iconLength = icon.length();
        String fulltext = icon + " " + text;
        SpannableStringBuilder spLabelWithIcon = new SpannableStringBuilder(fulltext);
        spLabelWithIcon.setSpan(new CustomTypefaceSpan(TypefaceManager.ICONS.getTypeface()),
                0, iconLength, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);

        spLabelWithIcon.setSpan(new CustomTypefaceSpan(TypefaceManager.GOTHAM_BOOK.getTypeface()),
                iconLength, fulltext.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);

myTextView.setText(spLabelWithIcon);
Run Code Online (Sandbox Code Playgroud)

结果:图标不在行的垂直中心(或者文本不在垂直中心):

在此处输入图片说明

android text spannable

5
推荐指数
0
解决办法
2983
查看次数

需要为曲线填充 Svg 动画

我在 svg 中有一条曲线,需要在悬停时沿着其路径填充曲线有人可以帮忙吗?填充动画应该是另一种颜色或可以是相同的。我尝试使用 animate 标签,但它无效并且像任何东西一样填充。下面给出了我的 SVG 路径。这是我的 Svg 代码,需要将此路径填充为 dashoffset。

<svg width="210mm" height="45mm" viewBox="0 0 744.09449 159.44881">
    <path style="opacity:1;fill:#ded9d5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1"
          d="m 18.929688,529.44141 c 1.140051,2.17164 1.739409,4.60197 1.74414,7.07226 -0.0033,2.41521 -0.575072,4.79339 -1.666016,6.92969 l 36.876954,0 c 17.101683,0 11.124297,14.78094 13.525192,34.92207 7.304679,27.32129 35.935342,38.13518 62.612922,41.73111 -1.5457,-2.42739 -4.33484,-7.94712 -4.33733,-10.8524 0.005,-3.11453 0.90166,-5.74434 2.66254,-8.27277 -23.30774,-1.1068 -29.8766,-7.34118 -39.33413,-22.29658 -4.829034,-11.35821 5.68082,-49.23338 -28.703413,-49.23338 z" transform="translate(0.5714286,1.42857)" id="path4471" />
</svg>
Run Code Online (Sandbox Code Playgroud)

html css jquery svg svg-animate

4
推荐指数
1
解决办法
751
查看次数

FloatingActionButton + VectorDrawable在前Lollipop上崩溃

经过一些研究后,我注意到com.android.support:design:23.3.0使用SVG崩溃的FloatingActionButton android:src.SVG来自Android Studio资产.

它在Android <= 4.4上崩溃.在5.0它完美的工作.

SVG:

ic_keyboard_voice_white_24dp

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FFFFFF"
        android:pathData="M12,15c1.66,0 2.99,-1.34 2.99,-3L15,6c0,-1.66 -1.34,-3 -3,-3S9,4.34 9,6v6c0,1.66 1.34,3 3,3zM17.3,12c0,3 -2.54,5.1 -5.3,5.1S6.7,15 6.7,12L5,12c0,3.42 2.72,6.23 6,6.72L11,22h2v-3.28c3.28,-0.48 6,-3.3 6,-6.72h-1.7z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

XML:

  <android.support.design.widget.FloatingActionButton
      android:id="@+id/fab_button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentBottom="true"
      android:layout_marginBottom="20dp"
      android:layout_centerHorizontal="true"
      app:backgroundTint="@color/colorAccentSecondary"
      app:fabSize="normal"
      app:elevation="1dp"
      android:src="@drawable/ic_keyboard_voice_white_24dp"/>
Run Code Online (Sandbox Code Playgroud)

摇篮:

defaultConfig {
  ...
  vectorDrawables.useSupportLibrary = true
}
Run Code Online (Sandbox Code Playgroud)

Stacktrace:https://gist.github.com/ppamorim/420dba3e9dc3022a86a3a1f50400d7d0

这是一个错误吗?我解决了这个问题与ImageView使用AppCompatImageView.这个问题的解决方法有FloatingActionButton哪些?

android android-layout material-design

3
推荐指数
1
解决办法
3046
查看次数

如何在进入视口时启动动画 SVG?

我需要你们的帮助。我找不到解决我问题的好方法。我的网站上有一些带有一些动画 SVG 的部分。我为此使用了 vivus.js。https://maxwellito.github.io/vivus-instant/ 问题是当用户滚动带有动画 SVG 的部分时,我找不到启动动画的解决方案。

javascript svg

3
推荐指数
1
解决办法
5537
查看次数

在xml中增加VectorDrawable图标笔划

我的android项目有一些svg图标.如何增加这些图标的笔画宽度.

一个图标xml例如:

<vector android:height="28dp" android:viewportHeight="58.365"
    android:viewportWidth="58.365" android:width="28dp" xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#000000"  android:pathData="M57.2641,26.6852l-8.4997,-7.8927L48.7644,5.8623l-9.7912,0l0,3.8391L29.182,0.6093L1.1008,26.6852c-0.3956,0.3681 -0.4191,0.9879 -0.0509,1.3845c0.3672,0.3956 0.987,0.4181 1.3845,0.0509l3.2497,-3.0176l0,32.6527l15.6659,0l15.6659,0l15.6659,0L52.6819,25.102l3.2497,3.0176c0.188,0.1753 0.4279,0.2614 0.6668,0.2614c0.2634,0 0.5248,-0.1048 0.7167,-0.3123C57.6832,27.6732 57.6597,27.0534 57.2641,26.6852zM40.9314,7.8205l5.8747,0l0,9.1538l-5.8747,-5.4547L40.9314,7.8205zM23.3073,55.7974L23.3073,35.1742c0,-0.5062 0.4112,-0.9174 0.9174,-0.9174l9.9146,0c0.5062,0 0.9174,0.4112 0.9174,0.9174l0,20.6232L23.3073,55.7974zM50.7226,55.7974l-13.7077,0L37.015,35.1742c0,-1.5862 -1.2895,-2.8757 -2.8757,-2.8757L24.2247,32.2985c-1.5862,0 -2.8757,1.2895 -2.8757,2.8757l0,20.6232l-13.7077,0L7.6414,23.2838l21.5406,-20.0024l13.9818,12.9831l5.6006,5.2001l0,0l1.9582,1.8182L50.7226,55.7974z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

svg android android-vectordrawable

3
推荐指数
2
解决办法
696
查看次数

使用jQuery操纵SVG路径长度

如何将蓝线(atm 100%)的长度调整为70%?

小提琴 http://jsfiddle.net/7FP3J/2/

HTML

<div id="p0">0%</div>
<div id="p100">100%</div>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <path fill="none" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);" stroke="#0074c4" d="M80,80 A80,80 0 1,180.61117636732928,100.45116865416591" stroke-width="3" id="test"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

CSS

#p0 {
  color: #0074c4;
  left: 60px;
  position: absolute;
  top: 72px;
}
#p100 {
  color: #0074c4;
  left: 240px;
  position: absolute;
  top: 144px;
}
Run Code Online (Sandbox Code Playgroud)

JS

setCircleTo(70);

function setCircleTo(percent)
{
    // percent   
    // $('#test').attr('d','') 
}
Run Code Online (Sandbox Code Playgroud)

jquery svg path

2
推荐指数
1
解决办法
7113
查看次数

CSS 中的 SVG DataURI 在 Firefox 中不起作用

body {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30.000000pt' height='30.000000pt' viewBox='0 0 300.000000 300.000000' preserveAspectRatio='xMidYMid meet'><g transform='translate(0.000000,300.000000) scale(0.100000,-0.100000)' fill='#3F0607' stroke='none'><path class='node' id='node1' d='M1255 2979 c-214 -37 -373 -98 -560 -212 -105 -64 -246 -187 -333 -291 -457 -540 -483 -1307 -65 -1871 453 -611 1297 -784 1958 -402 156 91 335 250 448 399 31 42 57 80 57 84 0 4 6 15 14 23 30 34 105 191 140 293 124 359 113 724 -31 1078 -155 380 -487 695 -874 …
Run Code Online (Sandbox Code Playgroud)

css svg inline

2
推荐指数
1
解决办法
907
查看次数

SVG动画,其中波峰/波峰的路径使用JavaScript变为波谷/谷

我正在尝试使这两个相似的SVG路径相互变形。它们基本上是三角形,其侧面是带有波峰和波谷的波浪。我要达到的效果是使波峰变成波谷,而相邻的波谷变成波峰,就像波浪正在移动到三角形的顶部/远点一样。

我看着JS库要做到这一点,发现Kute.js。它为SVG设置了动画,但根本不显示形状。它塌陷到最高点,然后长大,但从没有出现过两条路径。我尝试使用morphPrecision和morphIndex以获得更高的质量,但似乎无法获得理想的效果并且无法无限期/无限地发生。

这是我用来制作动画的两条路径和js。

<svg>
    <style type="text/css">
        .yellow{fill:#EEFF41;}
    </style>
    <g id="body">
        <path id="original" class="yellow" d="M140.3,39.3c-0.5-2.2-3.3-9.1-9.7-9.4c-12.4-0.7-11-9.6-14.8-12.2c-6.1-4.1-11.4,0.7-17.1-8.2
        c-3.1-4.8-11-0.1-16.7-4.9c-1.8-1.5-3.9-2.7-5.8-3.5c-1.5-0.6-3.5-1-5.5-1.1c-2,0.1-4,0.5-5.5,1.1c-1.9,0.8-4,2-5.8,3.5
        c-5.7,4.8-13.6,0-16.7,4.9c-5.7,8.9-11,4.1-17.1,8.2c-3.9,2.6-2.4,11.5-14.8,12.2c-6.4,0.4-9.2,7.3-9.7,9.4c-1.4,6.4,3,10.1,3.1,10
        c5.2-6.5,13.1-2.2,22-6.2c3.4-1.5,8.5-6.7,12.3-7.8c6.8-2,14.2,0.7,20.6-1.5c3.9-1.4,7.7-4.3,11.7-4.3c4,0.1,7.8,3,11.7,4.3
        c6.5,2.2,13.9-0.5,20.6,1.5c3.8,1.1,8.9,6.3,12.3,7.8c8.8,4,16.7-0.3,22,6.2C137.3,49.4,141.7,45.7,140.3,39.3z"/>
        <path id="swimming" class="yellow" d="M140.3,38.9c-0.5-2.2-7.4-3.4-9.7-9.4c-4.1-11.1-10.2-12.6-14.8-12.2c-6.1,0.4-12-0.9-17.1-8.2
        C95.4,4.4,88,2.2,82,4.2c-2.4,0.8-5.1,1.3-7.5-1c-1.3-1.3-2.1-1.8-3.8-1.8S68.3,2,66.9,3.2c-2.4,2.3-5.1,1.8-7.5,1
        c-6.1-2-13.4,0.2-16.7,4.9c-5.1,7.3-11,8.6-17.1,8.2C21,17,14.9,18.4,10.8,29.5c-2.2,6-9.2,7.3-9.7,9.4c-1.4,6.4,3,10.1,3.1,10
        c5.2-6.5,13.1-2.2,22-6.2c3.4-1.5,8.5-6.7,12.3-7.8c6.8-2,14.2,0.7,20.6-1.5c3.9-1.3,7.7-4.2,11.6-4.3c4,0.1,7.8,3,11.6,4.3
        c6.5,2.2,13.9-0.5,20.6,1.5c3.8,1.1,8.9,6.3,12.3,7.8c8.8,4,16.7-0.3,22,6.2C137.3,48.9,141.7,45.3,140.3,38.9z" style="visibility:hidden;"/>
    </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

这里是Kute.js。这些示例使它看起来很容易,并且我理解我的形状更加复杂,但是从视觉上看,路径非常相似。

这是我用以下命令调用Kute.js的行:

var tween = KUTE.fromTo('#original', {path: '#original' }, { path: '#swimming' }, {morphPrecision:64, morphIndex:32, repeat:161803}).start();
Run Code Online (Sandbox Code Playgroud)

这是带有正在运行的动画的jsfiddle:https ://jsfiddle.net/z0ufwxqh/

是否有更好的方法或方法来实现此动画?

javascript animation svg

2
推荐指数
1
解决办法
206
查看次数