
03.03.2012, 01:36
|
 |
.
|
|
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
|
|
1. Почисти Дельфи от вируса (\bin\lib\sysconst.bak) переименуй в sysconst.dcu
2. Если выкладываешь, постарайся обойтись без всякого сброда вроде: sBitBtn, sLabel, sButton;
3. Немного изменённый код, с цветом разбирайся сам, я эту библиотеку не использую. (держу только для того, чтобы можно было отвечать на вопросы):
Код:
public
{ Public declarations }
procedure WMPaint(var Msg: TWMPaint); message WM_PAINT;
end;
...
// Рисование картинки
procedure TForm1.WMPaint(var Msg: TWMPaint);
var
ps : TPaintStruct;
Level : DWORD;
High : FLOAT;
begin
BeginPaint(Handle, ps);
// очистка буфера цвета и буфера глубины
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glColor3f(0.388235294, 0.388235294, 0.388235294);
glBegin(GL_LINES);
glVertex2f(-0.99, 1);
glVertex2f(-0.99, 0.77);
glVertex2f(-0.99, 0.77);
glVertex2f(0.87, 0.77);
glVertex2f(0.87, 0.76);
glVertex2f(0.87, 1);
glEnd;
Level := BASS_ChannelGetLevel(Channel);
High := MulDiv(100, HIWORD(Level), 32768) / 100;
if High = 2 then
Exit;
glLineWidth(8);
glBegin(GL_LINES);
// првый спектр
glColor3f(1, 1, 1);
glVertex2f(0, -1);
glColor3f(0, 0, 0);
glVertex2f(High, -1);
// левый спектр
glColor3f(0, 0, 0);
glVertex2f(-High, -1);
glColor3f(1, 1, 12);
glVertex2f(0, -1);
glEnd;
glFlush;
SwapBuffers(DC); // вывод на экран
EndPaint(Handle, ps);
end;
procedure TForm1.tmr1Timer(Sender: TObject);
begin
InvalidateRect(Handle, nil, False);
end;
В тонкости не вдавался.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
|