草庐IT

bit-masks

全部标签

Swift: mask 对齐+自动布局约束

我有这个PNG文件,我想将其用作UIView的掩码。View必须是:每边20像素/点一个完美的正方形垂直居中我设置了以下约束来完成此操作:但是,这些限制似乎不适用于蒙版。设置这些约束和mask属性后,我得到以下信息:但我希望View看起来像上面的mask,除了橙色(这里的backgroundColor只是为了简单起见——我稍后添加需要mask的subview。)但是,当没有设置约束时,mask似乎可以正常工作,我得到类似这样的结果(borderColor添加仅用于视觉目的):这是我的代码(viewForLayer是我在Storyboard中制作的UIView):viewForLayer

ios - SpriteKit : A Lot of sprites (1000+) with Bit Blitting

我正在尝试使用SpriteKit创建一个场景,其中包含数千个Sprite(~500-2000)。每个Sprite只是一个1x1的白色像素-甚至不需要为它们使用纹理。一次直接向场景中添加这么多Sprite是不可能的(至少我是这么认为的)。在iPhone6上,我最终添加了大约200个Sprite,然后由于内存原因系统结束了添加过程,并且没有添加其余的Sprite。我找到了一个聪明的解决方案BitBlitting所有Sprite都添加到一个节点,然后使用textureFromNode:方法将其“转换”为纹理,然后从该纹理创建一个Sprite,最终将其添加到屏幕。它运行良好,我能够以出色的fp

swift - UIScrollView 上的渐变 mask 更新缓慢

我有一个UIScrollView子类,其中包含一个非常宽的UIView子类,我想淡出可见内容的边缘。这是我在UIScrollView子类中得到的:privatevargradientMask=CAGradientLayer()overridefunclayoutSubviews(){super.layoutSubviews()gradientMask.frame=self.boundsgradientMask.colors=[UIColor(white:0.0,alpha:0.18).CGColor,UIColor(white:0.0,alpha:0.95).CGColor,UICol

ios - 为 CAGradientLayer 添加 mask 使 UIBezierPath 消失

我想为带有渐变的View添加内边框。下面的代码有效并给了我这个结果importUIKitclassInnerGradientBorderView:UIView{overrideinit(frame:CGRect){super.init(frame:frame)backgroundColor=UIColor.clear}requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)backgroundColor=UIColor.clear}overridefuncdraw(_rect:CGRect){super.draw(r

swift - UIView 反转 mask MaskView

我想对我的UIView应用倒置mask。我将mask设置为带有透明图像的UIImageView。然而输出view.mask=imageView不是想要的结果。我怎样才能达到如下所示的预期结果?所需的结果使用mask切口作为透明度。当我检查View的掩码时,它不是CAShapeLayer,所以我不能那样反转它。 最佳答案 看来您可以做一些事情。您可以使用您拥有的图像,但遮盖一个白色View并在其后面放置一个蓝色View。或者您可以通过反转透明度来调整您正在使用的图像Assets。或者您可以使用CoreImage在代码中执行此操作。例如

ios - Swift 进度指示器图像 mask

首先,这个项目是使用Swift构建的。我想创建一个自定义进度指示器,在脚本运行时“填满”。该脚本将调用从远程服务器中提取的JSON提要。为了更好地形象化我所追求的,我做了这个:我的猜测是有两个PNG图像;一白一红,然后简单地根据进度做一些掩蔽。对此有什么想法吗? 最佳答案 为此,掩蔽可能有点矫枉过正。每次都重新绘制图像。当你这样做时,你绘制红色矩形来填充图形的下半部分,到你想要的任何高度;然后绘制液滴图像(PNG),它在中间具有透明度,因此红色矩形会显示出来。因此,一个PNG就足够了,因为每次重绘时都可以“实时”绘制红色矩形。我非常

swift - SpriteKit : why node in collision has category bit mask of 4294967295 when this category was never assigned to a node

在下面的didBegin函数中,其中一个节点的类别位掩码为4294967295。但是,此类别从未分配给任何节点。这里是所有使用的位掩码:structPhysicsCategory{staticletNone:UInt32=0staticletAll:UInt32=UInt32.maxstaticletPlayer:UInt32=0b1//1staticletWorldBorder:UInt32=0b10//2staticletTopWorldBorder:UInt32=0b100//4staticletRightWorldBorder:UInt32=0b1000//8staticlet

java - 256bit AES/CBC/PKCS5Padding with Bouncy CaSTLe

我在将以下JDKJCE加密代码映射到BouncyCaSTLes轻量级API时遇到问题:publicStringdec(Stringpassword,Stringsalt,StringencString)throwsThrowable{//AESalgorithmwithCBCcipherandPKCS5paddingCiphercipher=Cipher.getInstance("AES/CBC/PKCS5Padding","BC");//ConstructAESkeyfromsaltand50iterationsPBEKeySpecpbeEKeySpec=newPBEKeySpec(

java - PMD/CPD : Ignore bits of code using comments

有没有办法告诉PMD忽略检查部分代码的重复?例如,我可以这样做吗://CPD-Ignore-On...//CPD-Ignore-Off目前我已经使用Maven像这样设置了PMD,但是没有看到任何希望我做我想做的事情的论据,除非我遗漏了什么。org.apache.maven.pluginsmaven-pmd-plugin2.5401.5truetrue 最佳答案 经过充分的挖掘,我终于找到了它。通过添加注释@SuppressWarnings("CPD-START")和@SuppressWarnings("CPD-END"),CPD将忽

python - 函数速度提升 : Convert ints to list of 32bit ints

我正在寻找我的功能的快速替代品。目标是根据任意长度的整数制作一个32位整数列表。长度在(value,bitlength)的元组中明确给出。这是异步接口(interface)的位分解过程的一部分,每个总线事务采用4个32位整数。所有整数都是无符号的、正数或零,长度可以在0到2000之间变化我的输入是这些元组的列表,输出应该是隐式32位长度的整数,位按顺序排列。不适合32的剩余位也应返回。input:[(0,128),(1,12),(0,32)]output:[0,0,0,0,0x100000],0,12我花了一两天时间用cProfile进行分析,并尝试不同的方法,但我似乎有点受困于一秒钟