草庐IT

bit-masks

全部标签

android - 为什么不同的设备有不同的 Action_mask 值

我制作了一个应用程序,它在版本4.0或我们可以说是ics的设备上运行得非常好,但在ics之上它不能正常工作。在我的应用程序中,我试图同时在两个按钮上进行多点触控,并且它在4.0版以下运行完美。action_mask的值在触摸和非触摸时是第6个5。而在4.0以上的版本中它是1、2、0。这是为什么?entercodehere@overridepublicbooleanontouch(Eventev,MotionEventevent){intactionResolved=event.getAction()&MotionEvent.ACTION_MASK;intaction=paramMoti

android - 将 mask 应用于单个叠加 View 而不 mask 整个 Activity

我有一个带有绿色背景的简单Activity,我正在尝试提供一个带有透明圆形区域的红色叠加层。这是我要实现的效果:ExpectedImage根据我在网上找到的代码,我看到的是这样的:Resultofcode似乎正在发生的事情是PorterDuff将自身应用于Activity中的所有View,而不是我明确告诉它的View。Stack上的许多帖子都是关于用另一个位图遮盖一个位图,我试图用编程创建的圆形来遮盖View的一部分。这是我尝试使用的代码:publicclassClippingTestActivityextendsActivity{privatePaintmPaint;Clipping

android - 如何对颜色进行 alpha mask

在Android(1.5)中工作时,我有大约一百张字节数组形式的灰度图像。我想将图像用作alpha蒙版以在Canvas中绘制纯色。图像是固定的,但颜色可以改变。我可以为每个图像/颜色组合创建Bitmap对象,但这似乎非常低效。就内存和速度而言,解决此问题的好方法是什么?(我需要为每个图像/颜色组合多次执行此操作。) 最佳答案 我想我找到了我要找的答案:创建一个ARGB_8888位图,其中每个像素颜色设置为(gray为每种颜色创建一个新的PorterDuffColorFilter(color,PorterDuff.Mode.MULTI

Android Studio 64 位错误 : 32-bit Linux Android emulator binaries are DEPRECATED

我最近将我的ubuntu13.1064位升级到14.0464位。AndroidStudio在13.10上始终运行良好。在14.04上,我遇到了gradle(thisone)问题,这是缺少libz.so.1的问题。正在关注thislink,我必须安装这个包的32位版本,它解决了我的问题。现在(我认为这是相关的),在尝试启动设备模拟器时,我收到这条消息:ERROR:32-bitLinuxAndroidemulatorbinariesareDEPRECATED,tousethemyouwillhavetodoatleastoneofthefollowing:-Usethe'-force-32

java - 安卓工作室 : "No JVM installation found. Please install a 32-bit JDK "

我阅读了很多关于这个问题的资料,但仍然无法弄清楚我做错了什么?这是我的设置图片:有什么想法吗?更新:[正如您在图片中看到的,我使用的是java8,是不是错了?] 最佳答案 您的环境变量对话框显示您列出了一个名为JDK_HOME的变量,而错误消息告诉您将其命名为JAVA_HOME。您还使用了与Android不兼容的Java版本。您需要改用Java6或7。可以找到最新的Java7版本here. 关于java-安卓工作室:"NoJVMinstallationfound.Pleaseinstal

java - "bitmap size exceeds 32bits"在 KitKat 设备上的 buildDrawingCache

我正在开发一个相当简单的应用程序。该应用程序的底层代码如下:...mRootContentView=getWindow().getDecorView().findViewById(android.R.id.content));int[]screenDimensions=AndroidUtils.getScreenDimesions(getContext());bitmap=Bitmap.createBitmap(screenDimensions[0],screenDimensions[1],Bitmap.Config.ARGB_8888);Canvasc=newCanvas(bitma

Android 在带有 mask 的部分 imageView 上应用 colorMatrix colorFilter

我想改变图像特定部分的亮度。我知道如何使用ColorMatrix更改图像的亮度(或色调)。但它将应用于整个图像。我有一个mask文件(黑白图像)。我想仅在该mask的白色部分应用亮度变化。如何在Android中执行此操作?下面是蒙版图片和我想要得到的结果。 最佳答案 对于给定的位图和mask:首先创建一个临时位图:bitmap=BitmapFactory.decodeResource(ctx.getResources(),R.drawable.bitmap);mask=BitmapFactory.decodeResource(ctx

android - 如何使用 LinearGradient 着色器正确 mask 位图?

我正在尝试用底部的渐变alpha遮盖位图。渐变大小是固定的,与位图大小无关。但它绘制不正确:顶部的渐变底部,而不是顶部。怎么了?有示例代码:finalintGRADIENT_HEIGHT=32;publicBitmapaddGradient(Bitmapsrc){intw=src.getWidth();inth=src.getHeight();Bitmapoverlay=Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888);Canvascanvas=newCanvas(overlay);canvas.drawBitmap(src,0,0,nu

Android Bitmap Masking (Xfermode) 留下不透明的黑色背景

我有一个自定义View,在onDraw()中,我正在尝试执行位图mask。我有一个填充整个View的squareBitmap(红色),还有一个用作mask的circleBitmap(蓝色)。我正在使用模式:PorterDuff.Mode.DST_IN。我期望的结果是一个红色实心圆圈。我明白了,但我也得到了黑色不透明背景。我不想要这个不透明的背景,而它应该是透明的。图1是我得到的结果,图2是我要找的结果。我的代码:(为了这个问题,我把所有东西都移到了onDraw()里面)protectedvoidonDraw(Canvascanvas){finalintwidth=canvas.getW

Android 圆形渐变 Alpha mask

有没有办法在Android中的位图上绘制圆形渐变mask?试图产生类似于有雾的window的东西。单击窗口,会出现一个透明圆圈,显示窗口后面的内容。最好使用渐变,这样圆的中心是完全透明的,离中心越远越不透明。这可能吗?我是Android的新手,所以任何代码示例都将不胜感激。谢谢。 最佳答案 privatevoiddrawFoggyWindowWithTransparentCircle(Canvascanvas,floatcircleX,floatcircleY,floatradius){//Getthe"foggywindow"bi