在delphi中如何实现alpha值得转换.
解决方案 »
- 高分求解[如何在StringGrid中加上行字段和列行号] 最好加上实例代码
- 写成函数,为什么控件找不到了
- 关于在线程中使用Synchronize函数的一个问题?
- 关于wingate和sqlserver的问题!请各位大侠指点一下,谢谢
- 谁有TApdComPort控件的详细说明?小弟急需呀?多谢!
- delphi6.0c/s例子 100分
- 如何使TDBGrid的标题栏不能拖动其字段的宽度?
- 在delphi中怎样把字符型的的数据插入数据库中类型为uniqueidentifier的字段。急
- 一个数据库问题,进来就有分
- 怎样将一个表的内容全清空?除了Delete
- access视图查询问题
- DELPHI里SQL.查询时,为什么用and后面在加上条件就报错
我写了有代码只是实现了图片得一部分alpha效果。
或者ALPHA混合后存成BMP图象再打印也可以
32位的每个像素点是RGBA,设置A的值即可。
procedure AlphaConvert;
var
a, r, g, b: Byte;
p: PByteArray;
I, J: Integer;
begin
for I := 0 to OverLayBmp.Height - 1 do
begin
p := OverLayBmp.ScanLine[I];
for J := 0 to OverLayBmp.Width - 1 do
begin
r := p[j * 4 + 0];
g := p[j * 4 + 1];
b := p[j * 4 + 2];
a := p[j * 4 + 3]; p[j * 4 + 0] := 255; // a;
p[j * 4 + 1] := r;
p[j * 4 + 2] := g;
p[j * 4 + 3] := b;
end;
end;
end;