Работа с формами
Как нарисовать bmp файл вместо стандартной формы (если можно напигшите код с коментарием)!
В смысле наложить на морду формы картинку, или обрезать форму по краям изображения(интересно, как ты из будешь определять)?
Как нарисовать bmp файл вместо стандартной формы (если можно напигшите код с коментарием)!
Существует много способов.Вот один из них[COLOR=royalblue]
var
Form1: TForm1;
b:TBitMap;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
b := TBitMap.Create;
b.LoadFromFile('1.bmp');
form1.TransparentColorValue:=clBlack;// цвет кот будет прозрачнный
form1.TransparentColor:=true;// разрешаем прозрачность
end;
procedure TForm1.FormPaint(Sender: TObject);
var
x, y: integer;
begin
for x := 0 to Form1.ClientWidth div b.Width do
for y := 0 to Form1.ClientHeight div b.Height do
Form1.Canvas.Draw(x * b.Width, y * b.Height, b);
end;
end.
[/COLOR]
Вот исходник http://sources.codenet.ru/download.php?id=644&cid=11&o=2&my=0
Как нарисовать bmp файл вместо стандартной формы (если можно напигшите код с коментарием)!
установи BorderStyle у формы в bsNone... а потом пользуй следующую процедуру
var
hrgn, hrgn1 : integer;
hdc : integer;
x, y : integer;
Color : TColor;
begin
Color := Picture.Bitmap.Canvas.Pixels[ 0, 0 ];
hdc := GetDC( Handle );
hrgn := CreateRectRgn( 0, 0, Picture.Graphic.Width, Picture.Graphic.Height );
for x := 1 to Picture.Graphic.Width do
for y := 1 to Picture.Graphic.Height do
if Picture.Bitmap.Canvas.Pixels[ x - 1, y - 1 ] = Color then begin
hrgn1 := CreateRectRgn( x - 1, y - 1, x, y);
CombineRgn( hrgn, hrgn, hrgn1, RGN_DIFF );
DeleteObject( hrgn1 );
end;
SetWindowRgn( Handle, hrgn, true );
ReleaseDC( Handle, hdc);
end;