我正在尝试测量WebKit补丁的可能性,这将允许所有渲染的图形渲染到完全透明的背景上.
所需的效果是呈现没有任何背景的Web内容,它应该浮动在桌面上(或浏览器窗口后面显示的任何内容).
有没有人看过应用程序这样做?(我可以想到一些终端模拟器可以.)如果有人在WebKit内部工作(或者可能是Gecko?)你认为有可能这样做吗?
更新:我已经意识到Mac OSX仪表板小部件使用这种确切的技术.所以,这一定是可能的.
更新2:我在linux上编译了WebKit并注意到配置选项包括:
--enable-dashboard-support
enable Dashboard support default=yes
Run Code Online (Sandbox Code Playgroud)
我越走越近了.有人可以帮忙吗?
更新3:我继续在各种相关邮件列表的帖子中找到对此的引用.
我看起来应该是一个非常简单的问题,但事实证明它比我想象的要困难得多.这是问题所在:
我有一个相当大的图像序列,由编号的帧组成(Maya的输出,它的价值).图像目前采用Targa(.tga)格式,但如果重要的话,我可以将它们转换为PNG或其他任意格式.重要的是,他们有一个alpha通道.
我想要做的是以编程方式将它们变成视频剪辑.格式并不重要,但它需要无损并具有alpha通道.Quicktime容器中的未压缩视频可能是理想的.
我最初的想法是ffmpeg,但是在浪费了大部分时间之后,它似乎根本没有对alpha通道的支持.我要么缺少某些东西,要么底层的libavcodec不会这样做.
那么,这里的正确方法是什么?像ffmpeg这样的命令行工具会很好,但是在Windows上运行并且可以从脚本调用的任何解决方案都可以.
注意:在视频中使用alpha chanel实际上并不是那么罕见,如果你想将它合成在另一个视频片段或静止图像之上,它真的很有用.据我所知,未压缩的视频,Quicktime动画编解码器和Sorenson Video 3编解码器都支持透明度,我也听说过H.264.我们真正谈论的是32位色深,这得到了广泛支持; Quicktime .mov文件和Windowss .avi文件都可以处理它,也可能更多.
Quicktime Pro非常乐意将图像序列转换为32位.mov文件.点击导出,将颜色深度更改为"百万种颜色+",选择动画编解码器,将质量提高到100,然后就是 - 无损压缩视频,带有alpha字符,并且自编解码器以来它几乎可以在任何地方播放自1.0版以来一直是Quicktime的一部分.问题是,Quicktime Pro没有任何类型的命令行界面(至少在Windows上).ffmpeg支持使用Quicktime Animation编解码器(它称为qtrle)进行编码,但它只支持24位的位深度.
问题是找不到支持Alpha通道的视频格式.Quicktime Animation是理想的,但即使是未压缩的视频也应该可以使用.问题是找到一个支持它的工具.
我试图在Adobe Lightroom(http://www.youtube.com/watch?v=87hNd3vaENE)中创建类似于Lights out/lights dim功能的效果,但在WPF中除外.
我尝试的是在现有窗口的顶部创建另一个窗口,使其透明并在其上放置半透明的Path几何体.但我希望鼠标事件能够通过这个半透明窗口(在下面的窗口上).
这是我所拥有的简化版本:
<Window x:Class="LightsOut.MaskWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
AllowsTransparency="True"
WindowStyle="None"
ShowInTaskbar="False"
Topmost="True"
Background="Transparent">
<Grid>
<Button HorizontalAlignment="Left" Height="20" Width="60">click</Button>
<Path IsHitTestVisible="False" Stroke="Black" Fill="Black" Opacity="0.3">
<Path.Data>
<RectangleGeometry Rect="0,0,1000,1000 "/>
</Path.Data>
</Path>
</Grid>
Run Code Online (Sandbox Code Playgroud)
窗口是完全透明的,因此在路径未覆盖的位置,鼠标事件直接通过.到现在为止还挺好.路径对象上的IsHitTestvisible设置为false.因此鼠标事件将通过它传递到同一表单上的其他控件(即,您可以单击Button,因为它位于同一表单上).
但是鼠标事件不会通过Path对象传递到它下面的窗口.
有任何想法吗?还是更好的方法来解决这个问题?
谢谢.
我正在尝试使用具有固定颜色边缘的透明标记在matplotlib中制作绘图.但是,我似乎无法实现透明填充的标记.
我这里有一个最小的工作示例:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y1 = 2*x + 1
y2 = 3*x - 5
plt.plot(x,y1, 'o-', lw=6, ms=14)
plt.plot(x,y2, 'o', ms=14, markerfacecolor=None, alpha=0.5, markeredgecolor='red', markeredgewidth=5)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我尝试了两种在线发现的技术来实现这一目的:1)设置alpha参数.然而,这使得标记边缘也是透明的,这不是期望的效果.2)设置markerfacecolor = None,虽然这对我的情节没有影响
请问有解决方案吗?
这是我的问题.
我有一个div包含另外两个divs:基本上一个用于标题,一个用于内容.
当用户将鼠标指向父级时,我想要减轻(改变alpha级别,或者欢迎其他一些方法)div.两个孩子的颜色divs应该改变,并变得轻微.如果可能的话,我想避免使用javascript.
如何在CSS中执行此操作?
为什么我不能将Label的BackColor设置为Transparent?我以前做过,但现在它只是不想......
我创建了一个新的UserControl,添加了一个进度条和一个标签.当我将标签的BackColor设置为透明时,它仍然是灰色的= /为什么会这样?
我想要的是将标签放在进度条的顶部,以便其文本"在"进度条中"...
Grid在WPF中设置不透明度时,所有子元素似乎都会继承它Opacity.如何让子元素不继承父元素的不透明度?
例如,以下父网格中间有一个子网格,背景设置为红色,但由于父级的不透明度,背景显示为粉红色.我希望子网格具有纯色,不透明的背景:
<Grid x:Name="LayoutRoot">
<Grid Background="Black" Opacity="0.5">
<Grid.RowDefinitions>
<RowDefinition Height="0.333*"/>
<RowDefinition Height="0.333*"/>
<RowDefinition Height="0.333*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.333*"/>
<ColumnDefinition Width="0.333*"/>
<ColumnDefinition Width="0.333*"/>
</Grid.ColumnDefinitions>
<-- how do you make this child grid's background solid red
and not inherit the Opacity/Transparency of the parent grid? -->
<Grid Grid.Column="1" Grid.Row="1" Background="Red"/>
</Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud) 以下屏幕截图显示了TextBubbleBorder1的测试.我想让矩形之外的组件的角完全透明并显示它下面的任何组件.我找到了一种方法,通过Clip在Graphics2D实例上设置(表示圆角以外的区域)并调用,将标签的BG颜色限制为"在边框内" clearRect().这可以在Label 1.

但是,当父面板上有红色BG(或任何非标准颜色)时,您可以看到此方法的缺点.角落默认为默认面板颜色(最容易看到Panel 2).
最终,我希望这能够在父容器中使用非标准颜色,但部分灵感来自于我需要做什么才能使用渐变颜料复制此组件?
有人知道让这些角落透明的方法吗?
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.border.*;
public class BorderTest {
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
JPanel gui = new JPanel(new GridLayout(1,0,5,5));
gui.setBorder(new EmptyBorder(10,10,10,10));
gui.setBackground(Color.RED);
AbstractBorder brdr = new TextBubbleBorder(Color.BLACK,2,16,0);
JLabel l1 = new JLabel("Label 1");
l1.setBorder(brdr);
gui.add(l1);
JLabel l2 = new JLabel("Label 2");
l2.setBorder(brdr);
l2.setBackground(Color.YELLOW);
l2.setOpaque(true); …Run Code Online (Sandbox Code Playgroud) 是否有任何方法可以使UINavigationBariOS 7的目标成为一种没有半透明效果的纯色?我试过设置backgroundColor,barTintColor,不透明,透明/半透明等等......没有任何效果.
有人知道怎么做吗?
以下是我一直在使用的一些代码块.注意我在上面设置的属性navigationBar.他们都没有,无论以任何顺序或组合都有效.
@property (strong, nonatomic) UITabBarController *tabBarController;
testViewController = [[TestViewController alloc] init];
anotherViewController = [[AnotherViewController alloc] init];
navigationController = [[UINavigationController alloc]
initWithRootViewController:testViewController];
navigationController.navigationBar.barTintColor = [UIColor darkGrayColor;
navigationController.navigationBar.barStyle = UIBarStyleBlack;
navigationController.navigationBar.translucent = YES;
navigationController.navigationBar.opaque = YES;
NSArray *tabBarViewControllers = [NSArray arrayWithObjects:
navigationController,
anotherViewController, nil];
self.tabBarController.viewControllers = tabBarViewControllers;
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
void display(void);
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable( GL_BLEND );
glutInitWindowSize(600,600);
glutInitWindowPosition(200,50);
glutCreateWindow("glut test");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glPointSize(8);
glBegin(GL_POINTS);
glColor4f(.23,.78,.32,1.0);
glVertex2f(0,0);
glColor4f(.23,.78,.32,0.1);
glVertex2f(0.1,0);
glEnd();
glFlush();
}
Run Code Online (Sandbox Code Playgroud)
问题是这两个点看起来是相同的(即使我将alpha设置为0).有没有我错过了启用alpha透明度?