android半透明图层颜色叠加,可绘制Android上的颜色叠加

android:src="@drawable/bebe"

android:gravity="center"

android:alpha="0.1" />

android:bottom="-100dp"

android:left="0dp"

android:right="-260dp">

android:fromDegrees="-10"

android:pivotX="0%"

android:pivotY="100%">

android:shape="rectangle">

android:color="@android:color/white"/>

到目前为止,代码几乎相同并且效果得以实现,但只适用于Lollipop,我已经搜索过但无法找到如何在drawable上面进行颜色叠加以实现同样的效果并且我的所有尝试都在徒劳的.

drawable位于RelativeLayout的background属性中.我试图在2个独立的ImageView中创建它,一个用于背景图像,一个用于颜色叠加,但是这不适用于对角线样式.

如何才能为棒棒糖前版本实现这种效果?

解决方法:

Drawable background = relativeLayout.getBackground();

background.setColorFilter(getResources().getColor(R.color.colorAccent), PorterDuff.Mode.SRC_IN);

您也可以尝试SRC_ATOP或MULTIPLY,具体取决于所需的效果.

=========编辑========================

好吧,我想我现在能更好地理解你的要求.起初并不完全清楚.

你不是在问每个人说的颜色叠加,或者更确切地说,这不是你的问题所在.您的问题在于您依赖alpha属性.

这样做,我重新排序了你的元素,使彩色的形状位于图像的顶部,而不是使图像透明,我们使彩色的形状的颜色具有指定的字母字节.您可以根据需要更改颜色和alpha.

android:gravity="center"

android:src="@drawable/muse15fence_750"/>

android:bottom="-100dp"

android:left="0dp"

android:right="-260dp"

android:top="260dp">

android:fromDegrees="-10"

android:pivotX="0%"

android:pivotY="100%">

android:shape="rectangle">

android:color="@android:color/white"/>

这就是Jelly Bean的样子.

dbdf4de5fe882db1d5eaf44e728429a8.png

标签:android,xml,android-layout,view,android-drawable

来源: https://codeday.me/bug/20190727/1554150.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV是一个开源的计算机视觉库,它提供了丰富的图像处理和计算机视觉算法。在OpenCV中,可以通过透明图层叠加的方式实现绿色叠加效果。 要实现透明图层叠加绿色的效果,可以按照以下步骤进行操作: 1. 加载原始图像和绿色图像: 首先,使用OpenCV的`imread`函数加载原始图像和绿色图像。原始图像是需要进行叠加的底图,绿色图像是需要叠加的透明图层。 2. 调整绿色图像的尺寸: 如果绿色图像的尺寸与原始图像不一致,可以使用OpenCV的`resize`函数调整绿色图像的尺寸,使其与原始图像相同。 3. 创建透明图层: 使用OpenCV的`cv2.split`函数将绿色图像分离为三个通道(红、绿、蓝),然后创建一个与原始图像尺寸相同的全零数组作为透明图层。 4. 叠加透明图层: 将透明图层中的绿色通道设置为绿色图像对应位置的像素值,其他通道保持为零。可以使用OpenCV的数组索引操作来实现。 5. 叠加效果: 将原始图像和透明图层进行叠加,可以使用OpenCV的`addWeighted`函数将两个图像按照一定的权重进行叠加。 下面是一个示例代码,演示了如何使用OpenCV实现透明图层叠加绿色的效果: ```python import cv2 import numpy as np # 加载原始图像和绿色图像 original_image = cv2.imread('original_image.jpg') green_image = cv2.imread('green_image.png', cv2.IMREAD_UNCHANGED) # 调整绿色图像的尺寸 green_image = cv2.resize(green_image, (original_image.shape[1], original_image.shape[0])) # 创建透明图层 transparent_layer = np.zeros_like(original_image) # 叠加透明图层 transparent_layer[:, :, 1] = green_image[:, :, 1] # 叠加效果 result = cv2.addWeighted(original_image, 1, transparent_layer, 0.5, 0) # 显示结果 cv2.imshow('Result', result) cv2.waitKey(0) cv2.destroyAllWindows() ``` 希望以上内容能够帮助到您!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值