Форум: "Media";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Media";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.052 c