标签: masking

使用许多CALayer掩码时的性能问题

我试图用来CAShapeLayer掩盖CALayer我的iOS应用程序,因为它需要一小部分CPU time掩盖图像与手动屏蔽一个bitmap context;

当我有几十个或更多图像叠加在一起时,CAShapeLayer蒙面UIImageView很慢移动到我的触摸.

这是一些示例代码:

UIImage *image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"SomeImage.jpg" ofType:nil]];
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddEllipseInRect(path, NULL, CGRectMake(0.f, 0.f, image.size.width * .25, image.size.height * .25));

for (int i = 0; i < 200; i++) {

    SLTUIImageView *imageView = [[SLTUIImageView alloc]initWithImage:image];
    imageView.frame = CGRectMake(arc4random_uniform(CGRectGetWidth(self.view.bounds)), arc4random_uniform(CGRectGetHeight(self.view.bounds)), image.size.width * .25, image.size.height * .25);

    CAShapeLayer *shape = [CAShapeLayer layer];
    shape.path = path;
    imageView.layer.mask = shape;

    [self.view addSubview:imageView];
    [imageView release]; …
Run Code Online (Sandbox Code Playgroud)

performance objective-c masking calayer ios

23
推荐指数
1
解决办法
2255
查看次数

如何在没有Google应用的情况下从Google域名屏蔽域名

我刚从googledomains购买了一个域名(我没有谷歌应用程序).令我惊讶的是,Domain Forwarding的选项无法掩盖.我的意思是,我购买了"www.proto123.com",因此Domain Forward选项重定向到Yahoo服务器www.mywebsite.com/proto123/.问题是在webbrowser的导航栏上显示的地址是www.mywebsite.com/proto123/,而不是proto123.com

我已经与谷歌支持人员聊天了,他们说屏蔽选项不可用.

我的问题是:使用动态DNS和/或资源记录:A,AAAA,CNAME,MX,NS,PTR,SOA,SPF,SRV,TXT配置工具.是否可以为域转发创建PROPER掩码?

masking

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

Keras使用Tensorflow后端 - 屏蔽丢失功能

我正在尝试使用Keras和Tensorflow后端使用LSTM实现序列到序列任务.输入是具有可变长度的英语句子.为了构建具有二维形状[batch_number,max_sentence_length]的数据集,我在行尾添加EOF并用足够的占位符填充每个句子,例如"#".然后将句子中的每个字符转换为单热矢量,现在数据集具有3-D形状[batch_number,max_sentence_length,character_number].在LSTM编码器和解码器层之后,计算输出和目标之间的softmax交叉熵.

为了消除模型训练中的填充效应,可以在输入和丢失功能上使用掩蔽.Keras中的掩码输入可以通过使用"layers.core.Masking"来完成.在Tensorflow中,可以按如下方式 屏蔽损失函数:Tensorflow中的自定义屏蔽损失函数

但是,我没有找到在Keras中实现它的方法,因为keras中使用定义的损失函数只接受参数y_true和y_pred.那么如何将真正的sequence_lengths输入到丢失函数和掩码?

此外,我在\ keras\engine\training.py中找到了一个函数"_weighted_masked_objective(fn)".它的定义是"为目标函数添加对屏蔽和样本加权的支持."但似乎该函数只能接受fn(y_true,y_pred).有没有办法使用这个函数来解决我的问题?

具体来说,我修改了余阳的例子.

from keras.models import Model
from keras.layers import Input, Masking, LSTM, Dense, RepeatVector, TimeDistributed, Activation
import numpy as np
from numpy.random import seed as random_seed
random_seed(123)

max_sentence_length = 5
character_number = 3 # valid character 'a, b' and placeholder '#'

input_tensor = Input(shape=(max_sentence_length, character_number))
masked_input = Masking(mask_value=0)(input_tensor)
encoder_output = LSTM(10, return_sequences=False)(masked_input)
repeat_output = RepeatVector(max_sentence_length)(encoder_output)
decoder_output = LSTM(10, return_sequences=True)(repeat_output)
output = Dense(3, activation='softmax')(decoder_output)

model = Model(input_tensor, output)
model.compile(loss='categorical_crossentropy', optimizer='adam')
model.summary()

X = np.array([[[0, 0, 0], …
Run Code Online (Sandbox Code Playgroud)

masking lstm keras loss-function

22
推荐指数
1
解决办法
1万
查看次数

在HTML(5)文本输入中屏蔽字符的最简单方法

HTML5是否有任何类型的文本字段屏蔽,还是我还要陷阱onkeydown等?

jbabey是正确的 - "屏蔽",如阻止某些非法字符,而不是隐藏所输入的内容.

我发现最好的(最简单和最可靠)方法是陷阱onkeyup然后只运行正则表达式替换文本字段的值,删除任何非法字符.

这有一些优点:

  1. 它很容易实现(一个函数,两行代码).
  2. 它可靠,涵盖了我所想到的所有情况.
  3. 它不会阻止复制/粘贴等关键命令,选择全部或箭头键.

但它的主要缺点是它在删除之前会短暂地显示出键入的字符,这使得它看起来非常h​​ackish和unprofessional.

html javascript html5 masking

19
推荐指数
4
解决办法
8万
查看次数

隐藏raw_input()密码输入

我想隐藏我的密码,但我不知道如何.我已经看到了show="*",getpass但我不知道如何将它们放入此代码中.我正在使用Python 2.7.3并在Raspberry Pi上编码.

ans = True

while ans:
    print("""
                   -------------
                  | 1. Shutdown | 
                  | 2. Items    |
                   -------------
    """)

    ans=raw_input("""

             Please Enter A Number: """)

    if ans == "1":

        exit()
    elif ans == "2":


        pa=raw_input("""

             Please Enter Password: """)

        if pa == "zombiekiller":

            print("""
                   ----------------
                  | 1. Pi password |
                  | 2. Shutdown    |
                   ----------------
            """)

            pe=raw_input ("""

             Please Enter A Number: """)

            if pe == "1":
                print ("""

             Pi's Password Is Adminofpi""")
                import time …
Run Code Online (Sandbox Code Playgroud)

python raw-input masking

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

在c#System.Drawing中使用Alpha掩码?

我正在尝试使用该对象绘制带有源Bitmap和alpha蒙版的图像.此刻我循环X和Y并使用和将源颜色和掩码alpha写入第三个,然后渲染它.然而,这是非常低效的,我想知道是否有更快的方法来实现这一目标?BitmapSystem.Drawing.GraphicsGetPixelSetPixelBitmap

我之后的效果看起来像这样:

效果我在追求

网格图案代表透明度; 你可能知道这一点.

c# alpha masking

18
推荐指数
2
解决办法
8324
查看次数

用于剪切*outer*内容的SVG clipPath

通常,<clipPath>元素会隐藏夹子路径以外的所有内容.为了达到相反的效果 - 即从图像中"剪切"某些东西 - 我想在clipPath和clip-rule="evenodd"属性中使用两个路径.基本上,我想"修剪"剪辑路径.

但它不起作用.它显示区域"ORed":

<clipPath clip-rule="evenodd" id="imageclippath" clipPathUnits = "objectBoundingBox">
        <rect clip-rule="evenodd" x="0.3" y="0.3" height="0.6" width="6" />
        <rect clip-rule="evenodd" x="0" y="0" height="0.5" width="0.5" />
    </clipPath>     

 <rect clip-path="url(#imageclippath)" x="0" y="0" height="500" width="500" fill="red"/>
Run Code Online (Sandbox Code Playgroud)

编辑:

我的问题是AFAIK <mask>在iOS WebKit中不起作用.

svg clipping masking

18
推荐指数
1
解决办法
1万
查看次数

在Android上如何制作奇形怪状的剪裁区域?

以下是如何创建圆形的剪裁区域:

Path path = new Path();
path.addCircle(200,200,100,Direction.CW);
c.clipPath(path); // c is a Canvas
Run Code Online (Sandbox Code Playgroud)

现在Canvas上有一个剪裁区域,可以防止在该圆圈范围之外绘制任何东西.但是,如果我想将剪裁区域塑造成甜甜圈(或其他),该怎么办?

我尝试使用创建第二个Path并在其上使用toggleInverseFillType,然后将其添加到原始路径,但这似乎不起作用.

或者,不是使用Path,而是可以创建一个Bitmap用作蒙版,并以某种方式将其设置为Canvas上的剪贴蒙版?

编辑:答案正是我需要一个小的补充.在画布上执行多个操作时,请始终在第一个clipPath调用上使用Op.REPLACE.这将替换该Canvas上的任何现有clipPath.

作为参考,我在这里发现了6个不同的Region.Op值的含义.想象一下有2个圆圈的维恩图."B"是2个圆圈重叠的部分."A"是不重叠的左圆."C"是不重叠的右圆.

c.clipPath(a,Region.Op.REPLACE);
c.clipPath(b,???);

Region.Op.DIFFERENCE         -> A..            
Region.Op.INTERSECT          -> .B.            
Region.Op.REPLACE            -> .BC            
Region.Op.REVERSE_DIFFERENCE -> ..C            
Region.Op.UNION              -> ABC
Region.Op.XOR                -> A.C
Run Code Online (Sandbox Code Playgroud)

"." 表示未绘制的部分.对不起,如果不是特别清楚.没有图形很难很好地描述.

android dalvik masking android-canvas

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

重新排序因子会产生不同的结果,具体取决于加载的包

我想创建一个条形图,其中条形按高度排序,而不是按类别按字母顺序排列.当我加载的唯一包是ggplot2时,这工作正常.但是,当我加载一些包并运行创建,排序和绘制数据框的相同代码时,条形图已经恢复为按字母顺序排序.

我每次使用都检查了数据帧str(),结果发现数据框的属性现在不同了,即使我每次都运行相同的代码.

我的代码和输出如下所示.任何人都可以解释不同的行为吗?为什么加载一些显然不相关的包(在我所使用的所有函数似乎都没有被新加载的包掩盖的意义上无关)会改变运行transform()函数的结果?

案例1:刚加载ggplot2

library(ggplot2)

group = c("C","F","D","B","A","E")
num = c(12,11,7,7,2,1)
data = data.frame(group,num)
data1 = transform(data, group=reorder(group,-num))

> str(data1)
'data.frame':   6 obs. of  2 variables:
 $ group: Factor w/ 6 levels "C","F","B","D",..: 1 2 4 3 5 6
  ..- attr(*, "scores")= num [1:6(1d)] -2 -7 -12 -7 -1 -11
  .. ..- attr(*, "dimnames")=List of 1
  .. .. ..$ : chr  "A" "B" "C" "D" ...
 $ num  : num  12 11 7 7 2 1 …
Run Code Online (Sandbox Code Playgroud)

namespaces r masking operator-precedence

18
推荐指数
1
解决办法
870
查看次数

屏蔽除字符串的前6位和后4位以外的所有数字(长度各不相同)

我有一个卡号作为字符串,例如:

string  ClsCommon.str_CardNumbe r = "3456123434561234";
Run Code Online (Sandbox Code Playgroud)

根据要求,此卡号的长度可以在16到19位之间变化.

我的要求是我必须显示卡号的前六位和后四位,并用字符"X"掩盖其中的其他字符.

我尝试过使用subString并分别为16,17,18,19位数实现它.

我将字符串(ClsCommon.str_CardNumber)拆分为5个字符串(str_cardNum1,str_cardNum2,str_cardNum3,str_cardNum4,str_cardNum5 - 每个字符串4位数.第5个字符串的剩余数字)

所有字符串都放在ClsCommon文件中.基于此我实现了以下,它完美地工作:

if (ClsCommon.str_CardNumber.Length == 16) {
    txtmskcrdnum.Text = string.Concat(ClsCommon.str_cardNum1, " ", ClsCommon.str_cardNum2.Substring(0, 2), "XX", " ", "XXXX", " ", ClsCommon.str_cardNum4);

}
if (ClsCommon.str_CardNumber.Length == 17) {
    txtmskcrdnum.Text = string.Concat(ClsCommon.str_cardNum1, " ", ClsCommon.str_cardNum2.Substring(0, 2), "XX", " ", "XXXX", " ", "X", ClsCommon.str_cardNum4.Substring(1, 3), " ", ClsCommon.str_cardNum5);
}
if (ClsCommon.str_CardNumber.Length == 18) {
    txtmskcrdnum.Text = string.Concat(ClsCommon.str_cardNum1, " ", ClsCommon.str_cardNum2.Substring(0, 2), "XX", " ", "XXXX", " ", "XX", ClsCommon.str_cardNum4.Substring(2, 2), " …
Run Code Online (Sandbox Code Playgroud)

.net c# string substring masking

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