标签: alpha-transparency

用白色背景替换PNG图像中的透明度

我有一些透明的PNG图像,我需要创建版本,图像层组成一个白色背景.我已尝试使用Image Magick"转换"操作进行各种操作,但要么根本没有发生任何事情,要么我收到错误.我不想转到中间JPG表单,因为我不想要这些工件.当然,在Gimp或Photoshop或其他任何地方都很容易做到这一点,但我真的宁愿从命令行编写它,因为有很多这样的东西.

非工作Image Magick命令的示例是:

convert img1.png -background white -flatten img1-white.png
Run Code Online (Sandbox Code Playgroud)

这会导致错误.

谢谢!

png imagemagick alpha-transparency

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

使用ImageMagick和命令行提示设置透明背景

假设您有任何图像(PNG或JPG).此图像具有白色背景,我需要使此背景透明.

我试过这些例子:

  • convert original.png -background none transparent.png
  • convert original.png -background white -flatten -alpha off transparent.png

但没有理想的结果.

我该怎么做?

重要说明:使用convert命令行.

png imagemagick alpha-transparency

110
推荐指数
7
解决办法
10万
查看次数

在UIView上设置alpha会在其子视图上设置不应发生的alpha

根据文件 UIVIew @property(nonatomic) CGFloat alpha

此属性的值是0.0到1.0范围内的浮点数,其中0.0表示完全透明,1.0表示完全不透明. 此值仅影响当前视图,不会影响其任何嵌入的子视图.

我有一个容器视图配置如下:

self.myView.backgroundColor = [UIColor blackColor];
self.myView.alpha = 0.5;
[self addSubview:self.myView];
Run Code Online (Sandbox Code Playgroud)

然后将子视图添加到'myView'

[myView addSubView anotherView];
anotherView.alpha = 1;
NSLog(@"anotherView alpha = %f",anotherView.alpha); // prints 1.0000 as expected
Run Code Online (Sandbox Code Playgroud)

但' anotherView '在屏幕上确实有alpha(它不像预期的那样不透明)

这怎么可能,可以做些什么?

objective-c alpha-transparency uiview ios

80
推荐指数
7
解决办法
4万
查看次数

透明等效于给定颜色

我已经有过几次了,所以这里是:我正在制作一些图表,其中包含一个参数估计值的曲线给定一个调整参数.

通常,我也为每个估计值都有SD,所以我可以在每个估计值周围显示误差条.

但是,我不喜欢错误栏,并且更喜欢它的一些平滑版本.这本身没问题(即我知道如何做到这一点).但是,我的情节包含几条相似的曲线,每条曲线都有自己的颜色.因此,我想将"平滑的错误区域"添加到每条曲线中,颜色与曲线本身的颜色相匹配.当然,我想透明地做到这一点,所以我仍然可以通过'错误区域'看到其他曲线.

所以,我的问题是:给定一种颜色(由数字,名称或rgb值指定---注意前两个会产生额外的问题,但这种情况经常发生,因为基本的绘图功能将这些作为有效颜色值),我怎样才能找到具有相同rgb但不同(给定)alpha级别(透明度)的匹配颜色.我想要一个像以下的功能:

makeTransparent<-function(someColor, alpha=100)
{
  newColor<-someColor + alpha #I wish
  return(newColor)
}
Run Code Online (Sandbox Code Playgroud)

这适用于以下事项:

makeTransparent(2)
makeTransparent("red")
makeTransparent(rgb(0,0,1))
Run Code Online (Sandbox Code Playgroud)

编辑当我想念一些明显的东西时,我讨厌它,但@themel指出了我(再次).这是一个完整的解决方案(注意:工作矢量化,因此您可以传递多种颜色;但此时仅支持一个alpha):

#note: always pass alpha on the 0-255 scale
makeTransparent<-function(someColor, alpha=100)
{
  newColor<-col2rgb(someColor)
  apply(newColor, 2, function(curcoldata){rgb(red=curcoldata[1], green=curcoldata[2],
    blue=curcoldata[3],alpha=alpha, maxColorValue=255)})
}
Run Code Online (Sandbox Code Playgroud)

r colors alpha-transparency

51
推荐指数
5
解决办法
7万
查看次数

有没有办法使用XML设置drawable的Alpha?

容易就像自己.我想制作一个alpha按钮,这样就可以选择drawable:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Play/Pause -->
    <item android:state_selected="false" android:drawable="@drawable/item" />
    <item android:state_selected="true" android:drawable="@drawable/item" />

</selector>
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Play/Pause -->
    <item android:alpha="125" android:state_selected="false" android:drawable="@drawable/item" />
    <item android:alpha="255" android:state_selected="true" android:drawable="@drawable/item" />

</selector>
Run Code Online (Sandbox Code Playgroud)

谢谢大家.

android alpha-transparency drawable

47
推荐指数
6
解决办法
5万
查看次数

使用非黑色背景颜色将透明PNG转换为JPG

我在.Net中使用System.Drawing.Image进行从png到jpeg的简单转换.我基本上只使用这两行代码:

Image img = Image.FromFile(filename);
img.Save(newFilename, System.Drawing.Imaging.ImageFormat.Jpeg);
Run Code Online (Sandbox Code Playgroud)

它工作正常,除了png文件由于alpha通道包含透明度.在这种情况下,转换的jpeg具有黑色背景.有没有办法让背景变白?

.net c# alpha-transparency image-conversion

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

如何创建半透明形状?

我想知道如何在OpenCV中绘制半透​​明的形状,类似于下图中的那些(来自http://tellthattomycamera.wordpress.com/)

在此输入图像描述

我不需要那些花哨的圆圈,但我希望能够绘制一个矩形,例如,在3通道彩色图像上,并指定矩形的透明度,类似于

rectangle (img, Point (100,100), Point (300,300), Scalar (0,125,125,0.4), CV_FILLED);
Run Code Online (Sandbox Code Playgroud)

0,125,125矩形的颜色在哪里,并0.4指定透明度.但是,OpenCV没有在其绘图功能中内置此功能.如何在OpenCV中绘制形状,以便绘制的原始图像通过形状部分可见?

c++ opencv shape alpha-transparency

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

将alpha-transparency设置为仅适用于布局而不是其子项

我发现了这个问题,我遇到了几乎相同的问题.我怎么能只将alpha应用于相对布局而不是它的孩子?有人可以帮忙吗?

我有一个矩形的LinearLayout,它有一些边距,一些圆角和一个0.3的alpha值.在这个布局中,我有4种不同的布局,因为我在不同的位置显示不同的图像.我的问题是虽然主要布局是0.3,但我希望我的孩子完全可见,或者不受它的父母alpha影响,我想知道我怎么能请那样做呢?我尝试在子布局上设置alpha = 1,但它不起作用.将它设置为0确实会使子布局消失,所以看起来我可以减少到0.3以下,但不能超过父级.这是一个错误还是我做错了?谢谢.

android alpha-transparency android-layout

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

手动将RGBA像素与RGB像素进行Alpha混合

我正在尝试将RGBA图像(前景图像)的alpha混合操作转换为RGB图像(背景图像).但是,在这样做的时候,我想我可能正在做错误的alpha混合操作或做错了.例如,我的RGB图像的像素是(127,127,127)的浅灰色.像素的RGBA图像的像素将是(0,0,255).在进行混合操作后,最终颜色将为(127,0,255).但是,我认为这更像是一种添加剂混合物,与我正在进行的操作不同.

关于如何设置我的值,请看一下

incPixelColor[0] = 0; (red)
incPixelColor[1] = 0; (green)
incPixelColor[2] = 255; (blue)
incPixelColor[3] = 255; (alpha)

currentPixelColor[0] = 127; (red)
currentPixelColor[1] = 127; (green)
currentPixelColor[2] = 127; (blue)
Run Code Online (Sandbox Code Playgroud)

关于我的计算方法,请看一下

float incAlpha = (currentPixelColor[3]/255.0f);

float red = ((float)incPixelColor[0]/255.0f * incAlpha) + ((float)currentPixelColor[0]/255.0f);
float green = ((float)incPixelColor[1]/255.0f * incAlpha) + ((float)currentPixelColor[1]/255.0f);
float blue = ((float)incPixelColor[2]/255.0f * incAlpha) + ((float)currentPixelColor[2]/255.0f);


currentPixelColor[0] = min(red * 255, 255.0f);
currentPixelColor[1] = min(green * 255, 255.0f);
currentPixelColor[2] = min(blue * 255, 255.0f);
Run Code Online (Sandbox Code Playgroud)

对于没有alpha的像素,我希望该值为(0,0,255),然后对于具有alpha的图像,我希望它能够融入.在上面的操作结束时,它将是(127,127) ,255).我应该检查每个像素是否有alpha,如果有,那么进行混合还是有其他方法可以做到这一点?

algorithm image-manipulation alphablending image-processing alpha-transparency

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

Jetpack Compose 对话框 - 有没有办法更改背景透明度?

当我们在 Jetpack Compose 中显示Dialog/AlertDialog时,背景似乎有点暗,有没有办法调整背景 Alpha 或使其透明?例如:当显示对话框时,该图像中的白色背景变成深灰色。

android background dialog alpha-transparency android-jetpack-compose

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