我需要在ImageView的边缘创建一个alpha渐变.最好只使用XML.
android gradient alpha-transparency imageview android-imageview
<style type="text/css">
div#foo {
background: #0000ff;
width: 200px;
height: 200px;
opacity: 0.30;
filter: alpha(opacity = 30);
}
div#foo>div {
color: black;
opacity:1;
filter: alpha(opacity = 100);
}
</style>
<div id="foo">
<div>Lorem</div>
<div>ipsum</div>
<div>dolor</div>
</div>
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,不透明度div#foo由子元素继承,导致文本几乎不可读.我认为说它是继承的是错误的,不透明度应用于父div而子节点是其中的一部分,因此尝试为子元素覆盖它不起作用,因为从技术上讲它们是不透明的.
在这种情况下,我通常只使用alpha png背景图像,但今天我想知道是否有更好的方法来使div的背景半透明而不影响内容.
我正在复制一张图片.(我的实际代码是调整图像大小,但这与我的问题无关.)我的代码看起来像这样.
Image src = ...
using (Image dest = new Bitmap(width, height))
{
Graphics graph = Graphics.FromImage(dest);
graph.InterpolationMode = InterpolationMode.HighQualityBicubic;
graph.DrawImage(src, 0, 0, width, height);
dest.Save(filename, saveFormat);
}
Run Code Online (Sandbox Code Playgroud)
除非src从具有透明度(例如GIF)或Alpha通道(例如PNG)的图像加载,否则这看起来效果很好.
如何DrawImage()将透明胶片/ Alpha通道传输到新图像,然后在保存文件时保留它们?
有两个重叠的PictureBox控件,我试图让图片框的透明区域让下面的控件(在z顺序)可见.
即使在尝试微软的建议之后,我也无法获得理想的结果.
这就是我目前拥有的:

这就是我想要的:

所以我的问题是:
用两个PictureBox控制(或用另一种方式)实现我想要的结果的任何方法相互重叠并让透明区域透过?
更新:
实际上我通过使用这个问题" 使用C#WinForms透明图像 "的答案解决了它.
如何在cv::Mat不改变其他通道的情况下有效地将a的给定通道设置为给定值?例如,我想将其第四个通道(alpha通道)值设置为120(即半透明),如:
cv::Mat mat; // with type CV_BGRA
...
mat.getChannel(3) = Scalar(120); // <- this is what I want to do
Run Code Online (Sandbox Code Playgroud)
PS:我当前的解决方案首先分成mat多个通道并设置alpha通道,然后将它们合并.
PS2:我知道如果我也想通过以下方式更改其他频道,我可以快速完成此操作:
mat.setTo(Scalar(54, 154, 65, 120));
Run Code Online (Sandbox Code Playgroud)
这两种方法都可以将给定通道的所有mat值设置为给定值.它们将适用于所有矩阵,无论它们是否连续.
- >基于@Antonio的答案,并由@MichaelBurdinov进一步改进
// set all mat values at given channel to given value
void setChannel(Mat &mat, unsigned int channel, unsigned char value)
{
// make sure have enough channels
if (mat.channels() < channel + 1)
return;
const int cols = mat.cols;
const int …Run Code Online (Sandbox Code Playgroud) 我正在使用来自此github repo https://github.com/Haneke/HanekeSwift的库来缓存从服务器下载的图像.更新到swift 2.0后,一切都搞砸了.
我已经能够解决所有问题,但这个功能:
func hnk_decompressedImage() -> UIImage! {
let originalImageRef = self.CGImage
let originalBitmapInfo = CGImageGetBitmapInfo(originalImageRef)
let alphaInfo = CGImageGetAlphaInfo(originalImageRef)
// See: http://stackoverflow.com/questions/23723564/which-cgimagealphainfo-should-we-use
var bitmapInfo = originalBitmapInfo
switch (alphaInfo) {
case .None:
bitmapInfo &= ~CGBitmapInfo.AlphaInfoMask
bitmapInfo |= CGBitmapInfo(rawValue: CGImageAlphaInfo.NoneSkipFirst.rawValue)
case .PremultipliedFirst, .PremultipliedLast, .NoneSkipFirst, .NoneSkipLast:
break
case .Only, .Last, .First: // Unsupported
return self
}
let colorSpace = CGColorSpaceCreateDeviceRGB()
let pixelSize = CGSizeMake(self.size.width * self.scale, self.size.height * self.scale)
if let context = CGBitmapContextCreate(nil, Int(ceil(pixelSize.width)), Int(ceil(pixelSize.height)), CGImageGetBitsPerComponent(originalImageRef), 0, colorSpace, …Run Code Online (Sandbox Code Playgroud) 我一直对这个演示感兴趣:http://jakearchibald.com/scratch/alphavid/
我在这里也看到了这个问题:
但我似乎无法弄清楚:你如何用alpha通道创建h264,ogg和webm视频文件?
我正在绘制两条半透明的丝带.使用下面的代码,没有scale_fill_manual部分,我基本上得到了我想要的,带有一个名为的图例"red",以及标签blue和red.添加该scale_fill_manual部分允许我将图例和它的条目命名为我想要的,但是我失去了图例中彩色矩形的透明度.
x=1:10
y1=1:10
y2=2:11
y3=10:1
y4=9:0
dt=data.frame(x,y1,y2,y3,y4)
library(ggplot2)
ggplot(dt)+
geom_ribbon(aes(x=x,ymin=y1,ymax=y2,fill='red'),
alpha=0.4,)+
geom_ribbon(aes(x=x,ymin=y3,ymax=y4,fill='blue'),
alpha=0.5)+
scale_fill_manual(name='legendname',
values=c('red','blue'),
labels=c('one','two'))
Run Code Online (Sandbox Code Playgroud)
sessionInfo()的输出
R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] scales_0.2.3 ggplot2_0.9.3 plyr_1.8 reshape2_1.2.2
loaded via a namespace (and not attached):
[1] colorspace_1.2-0 dichromat_1.2-4 digest_0.6.0 grid_2.15.2 gtable_0.1.2 labeling_0.1
[7] MASS_7.3-22 munsell_0.4 proto_0.3-10 RColorBrewer_1.0-5 rstudio_0.97.248 stringr_0.6.2
[13] tools_2.15.2
Run Code Online (Sandbox Code Playgroud)
针对类似问题有很多解决方案( …
我在这做错了什么?我试图用透明的灰色遮蔽每天24小时交替的矩形.但只有for循环中的最后一个矩形被绘制(?!?)如果我手动而不是for-循环,它可以正常工作.
有没有办法对此进行矢量化以避免for循环?(可以用qplot来完成吗?)我是ggplot2的新手,是的,我通读了Hadley的网站,书籍和例子.
第二个问题:美学上的阿尔法设置并不能阻止矩形遮挡背景.如何获得透明度?
dat <- data.frame(my_x_series=1:192, my_y_series=5.0*runif(192))
# (ymin, ymax are computed for this series using min/max(na.rm==TRUE))
ymax <- 5.0
ymin <- 0.0
p <- ggplot(dat, aes(x=my_x_series,alpha=0.9))
alternate_daily_bars_xmin <- c(4,52,100,148)
for (shade_xmin in alternate_daily_bars_xmin) {
shade_xmax <- min(shade_xmin+24, 192) # clamp at end of x-range
p <- p + geom_rect(aes(alpha=0.5,xmin=shade_xmin,xmax=shade_xmax,ymin=ymin,ymax=ymax), fill='gray80')
}
p <- p + geom_point(aes(y=my_y_series))
p
Run Code Online (Sandbox Code Playgroud) 如何在Android屏幕中创建透明活动点击以关闭按钮自动关闭活动.请提供任何解决方案.