Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.16;
Скачать: CL | DM;

Вниз

butmap   Найти похожие ветки 

 
shurik   (2003-08-21 01:05) [0]

Кто знает как создать bitmap треугольной формы


 
MBo ©   (2003-08-21 07:25) [1]

никак


 
Олег ©   (2003-08-21 10:01) [2]

Сам Bitmap у меня тоже не получалось сделать нестандартной формы...
Когда нужно было создавать что-то непрямоугольное, выкручиваться получалось так:
1)создаю свой класс (потомок оконных элементов управления):
...
type
TMyPanel = class(TPanel)
...
(таким образом получаю доступ к свойству Canvas класса TPanel)
2) перекрываю метод Paint, в котором рисую на моей панели все, что нужно и задаю форму - видимый Poligon:

procedure TMyPanel.Paint;
var
f : array [0..7] of TPoint;
begin
inherited Paint;
...
Canvas.LineTo(Width,Height);
...
f[0] := Point(0,0);
f[1] := Point(100 div 2,0);
f[2] := Point(100 div 2,40 div 2);
f[3] := Point(70 div 2,100 div 2);
f[4] := Point(70 div 2,120 div 2);
f[5] := Point(30 div 2,130 div 2);
f[6] := Point(30 div 2,100 div 2);
f[7] := Point(0 div 2,40 div 2);
R:=CreatePolygonRgn(f, 8, WINDING);
SetWindowRgn(Handle, R, True);
end;

если положишь на форму :
...
var MyPanel1:TMyPanel;
...
MyPanel1:=TMyPanel.Create(Self);
MyPanel1.Parent:=Self;
MyPanel1.Show;
MyPanel1.Top:=10;
...
панелька будет нестандарной формы(заданной в TMyPanel.Paint) .

если мне нужен был бы именно Bitmap - наверное положил бы на TMyPanel какой-либо компонент его содержащий... рисовал бы на нем, а "треугольность" обеспечивал бы так же... Хотя такого именно делать не приходилось... может есть и другой, более простой метод...

Удачи.


 
Camedia   (2003-08-21 22:24) [3]

Создать треугольную маску прямоугольного bitmap и выводить как надо. А сделать так, чтобы сама структура была треугольной - это точно никак, нужно переписывать класс TBitmap да и бесцельное это занятие.



Страницы: 1 вся ветка

Текущий архив: 2003.12.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
6-52321
NikB
2003-10-15 16:20
2003.12.16
Kak mogu viibrat IP adress tServerSocketa?


8-52285
lipskiy
2003-06-13 00:53
2003.12.16
Как от flash-ролика получать события кликов мыши?


3-52073
SlavaSH
2003-11-24 14:10
2003.12.16
SQL


14-52372
Dancer
2003-11-10 15:38
2003.12.16
А можно ли написать хорошую игру на Delphi?


3-52089
Denisiy
2003-11-24 14:34
2003.12.16
---|Ветка была без названия|---