delphi根据不同图片生成不规则窗口的实现(仅限于BMP格式)
来源:互联网 发布:c语言与或非门的符号 编辑:程序博客网 时间:2024/05/21 23:31
unit CreateImageForm;
interface
uses
Windows, SysUtils, Variants, Classes, Graphics;
procedure CreatRgnForm( Bmap: TBitMap; WColor: TColor; hand:THandle);
implementation
procedure CreatRgnForm( Bmap: TBitMap; WColor: TColor; hand:THandle);
var
rgn: HRgn;
dc, cdc: HDC;
x, y: integer;
p: Tpoint;
line: boolean;
color: Tcolor;
begin
dc := GetWindowDc(hand);
cdc := CreateCompatibleDc( dc );
SelectObject( cdc, Bmap.Handle );
//WColor := Img.Picture.Bitmap.Canvas.Pixels[0, 0];
//WColor := GetPixel( cdc, 0, 0 );
BeginPath( dc );
for x := 0 to Bmap.Width - 1 do
begin
line := false;
for y := 0 to Bmap.Height - 1 do
begin
color := GetPixel( cdc, x, y );
if not( color=WColor) then
begin
if not line then
begin
line := true;
p.X := x;
p.Y := y;
end;
end;
if ( color=WColor)or( y=Bmap.Height - 1 ) then
begin
if line then
begin
line := false;
MoveToEx( dc, p.X, p.Y, nil );
LineTo(dc, p.X, y );
LineTo(dc, p.X + 1, y );
LineTo(dc, p.X + 1, p.Y );
CloseFigure( dc );
end;
end;
end;
end;
EndPath( dc );
Rgn := PathToRegion( dc );
ReleaseDc( hand, dc );
SetWindowRgn( hand , rgn, true );
end;
end.
如此调用就可以了
procedure TForm1.FormCreate(Sender: TObject);
var
color: TColor;
w1: TBitMap;
begin
w1 := TBitMap.Create;
w1.Assign( Image1.Picture.Bitmap );
color := w1.Canvas.Pixels[0, 0];
CreatRgnForm( w1, color, handle);
end.
- delphi根据不同图片生成不规则窗口的实现(仅限于BMP格式)
- opencv实现不同格式图片的转换(jpg<-->bmp)
- Android Camera生成bmp格式的图片
- Android camera生成bmp格式的图片
- vc++根据图片定制不规则窗口
- 以BMP图片为蓝本创建不规则窗口
- BMP图片的格式
- BMP图片的格式
- QT:不规则窗口的实现
- QT:不规则窗口的实现
- QT:不规则窗口的实现
- delphi FMX用TImage显示不同格式的图片
- 处理bmp格式的图片
- BMP格式图片的数据格式
- C语言实现BMP格式图片的读写
- 早期教育的内容绝不仅限于智育
- BCB实现BMP图片的RGB分解,BMP与JPG格式的相互转换
- 用Delphi实现简单的不规则窗体
- 推荐给大家一些关于Android有用的网站
- 10分钟开始使用ICTCLAS Java版
- 14.3.2 reset标号
- 查看服务器IIS服务器日志
- Windows Mobile SDK例子浅析
- delphi根据不同图片生成不规则窗口的实现(仅限于BMP格式)
- 盖茨接班人奥兹权力被架空 分析师称或将离职
- 14.3.3 cpu_init_crit标号
- Silverlight学习笔记--动画效果-- 渐变风格方式动画
- SQL SERVER 连续两个desc 和 Update From 用法
- 14.3.4 lowlevel_init标号
- Quote
- vc ArrayList
- java数据库设计中的14个技巧