- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 FireMonkey 桌面应用程序中更改(表单的)AlphaBlend
值?嗯,它在 VCL 应用程序中可用,但我在 FireMonkey 中找不到它。
屏幕截图:
最佳答案
要使表单背景半透明,您应该将表单 Transparency
属性设置为 true
并使用 Fill.Color
和 alpha 值,如 $AAFFFFFF
(使用Fill.Kind = bkSolid
)。在这种情况下,表单边框变得不可见(至少在 Delphi XE2 中)
如果您需要使表单中的所有组件半透明,则使用 Align = alContents
将 TLayout
放置在表单上,并将其 Opacity
属性设置为必需值。
如果您需要像 VCL 中那样具有 alpha 混合的半透明窗口,您可以使用与 getWindowLong/SetWindowLong
相同的方法(对于 Windows 平台)。将 transparency
设置回 false
并在表单 OnCreate
事件处理程序中使用如下代码:
implementation
uses fmx.platform.win, winapi.windows;
{$R *.fmx}
procedure TMainForm.FormCreate(Sender: TObject);
var h : HWND;
aStyle : integer;
alphaValue : byte;
begin
h := WindowHandleToPlatform(self.Handle).Wnd;
AStyle := GetWindowLong(h, GWL_EXSTYLE);
SetWindowLong(h, GWL_EXSTYLE, AStyle or WS_EX_LAYERED);
AlphaValue := 125;
SetLayeredWindowAttributes(h, 0, alphaValue, LWA_ALPHA);
end;
当然,您的所有组件也会变得透明。
关于delphi - FireMonkey 中的 AlphaBlend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20699032/
这个问题与我的earlier question有关就这样。 我想组合两个图层,并且仅将 alpha 应用于源图层的特定部分。我尝试的一种方法是将 SourceConstantAlpha 设置为 $ff
几十年来我一直设法避免使用 Windows GDI,现在我要付出代价了。以下 C++ 代码不会生成正确的颜色。它只是应该用白色填充一个窗口,然后对单个位图进行 alpha 混合。所有的 alpha 都
什么是 alphablend,它使用了哪些功能? 最佳答案 AlphaBlend 函数显示具有透明或半透明像素的位图。 用于 alphablend 的函数是: BOOL AlphaBlend(HDC
我想在我的系统中制作一个半透明的面板,如 AlphaBlend 属性,但此属性仅适用于 Tform 而不是 Tpanel。如何使面板半透明。 最佳答案 在 Windows 8 之前,子控件无法应用 W
如何在 FireMonkey 桌面应用程序中更改(表单的)AlphaBlend 值?嗯,它在 VCL 应用程序中可用,但我在 FireMonkey 中找不到它。 屏幕截图: 最佳答案 要使表单背景半透
我有一个绘制在油漆盒上的图像,我希望能够在油漆盒的任何给定区域上方显示一个半透明的填充矩形,它将以较暗的颜色显示下面的油漆盒 Canvas ,有点像选择框来自 Windows 资源管理器。 经过多次尝
我对如何双缓冲这个有点困惑。我是不确定我是否需要创建另一个 CreateCompatibleBitmap 或 CreateCompatibleDC 以及如何链接它们。这按原样工作,但我不认为它是双缓冲
我想在给定窗口内绘制一个缓冲区(带有 alpha 信息!)。绘图是在 WM_PAINT 之外完成的(它是在从 Chromium-Embedded-Framework 调用的 CefRenderHand
我试图在 native Win32 C++ 中绘制一个稍微透明的蓝色矩形。我正在使用函数 AlphaBlend() 但它没有在窗口上绘制任何东西,没有任何反应。 我的问题:当我运行我的函数来绘制一个稍
好的,所以我一直在尝试让 Alpha 混合在我的 3D 应用程序中工作,但它只是不想发生。我在渲染循环的最后用正交投影绘制 2d 图像(深度测试保持启用),图像纹理有透明部分,但它们呈现黑色。 这是我
所以,我正在使用 AlphaBlend () 将矩形从一个 HBITMAP 复制到另一个。 可以,但是有问题。每当我使用 FillRect() 函数时,HBITMAP 中的 alpha 值都会猛烈地变
我想“杀死”纹理的黑色。或者,我想显示没有背景的 png 文件(透明背景) 我该怎么做?有什么例子吗? 最佳答案 没那么难。这是主要部分: public static Bitmap loadBitma
我用谷歌搜索、查看示例、此处的其他问题、MSDN 和下载的示例代码。我不知道这有什么问题。 // setting up the memory DC and selecting in the bitma
我有一个 32bpp 的位图图像,它有一个 alpha channel ,其值范围为 0-255。我正在尝试使用 win32 API 在窗口中显示它(附加了我用来显示的代码片段)。 我正在阅读文档,结
我正在尝试使用 alpha 拉伸(stretch) HBITMAP 并将其绘制到花药 hdc。 我正在使用 StretchDIBits,然后使用 AlphaBlend,如下面的代码所示。 问题是 Al
我希望我的按钮上有带有 alphablending 的图像。 按照指示,我在主窗体上添加了 TXPManifest 组件。 下面是我加载到项目中的一些图像。 但是我的 BitBtn(通过 Action
嗨,我正在学习 Emgu CV。我想执行 alpha 混合(addWeighted)。我有以下代码 Image image = new Image(filename); Image grayImage
我正在尝试使用 Windows alphablend API 调用将两个 Canvas 混合在一起。首先,我在主 Canvas (目标)上绘制一些东西,然后使用 TBitmap 实例化另一个 Canv
我有一个使用创建的 BufferedImage new BufferedImage(wid,hgt,BufferedImage.TYPE_INT_ARGB); 我使用多个其他图像组装了壁纸。它在 Ja
我正在尝试用 C# 编写一个快速透明类。如何将具有透明度的 PNG 导入 GDI32 以将其与 alphaBlend 一起使用? 我试过直接通过getHbitmap/selectObject把它放上去
我是一名优秀的程序员,十分优秀!