Autor Beitrag
bernd29
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116

winxp
D7 und VB6
BeitragVerfasst: Di 23.05.06 09:49 
Hallo ,

Ich hab folgendes Problem. Ich will mir einen Grafic Eqilizer in eine PaintBox Zeichnen.
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
procedure TDisplay.RenderWave (HWND : THandle; WaveData : TWaveData; posTime : Integer);
var i,y :LongInt; a : Single; LCh, RCh : SmallInt; X, Rd : Integer; Angle : Single; R, L : SmallInt;
    Rect: integer;
begin
         {Draw Backgraund}
          Buffer.Canvas.Pen.Color := clBlack;
          Buffer.Canvas.Brush.Color := clBlack;
          Buffer.Canvas.Brush.Style := bsSolid;
          Buffer.Canvas.CopyRect( Rect(0022256), EQBitmap.Canvas, Rect(00222 056 + 0));//--- Hier Kommt die Fehler Meldung Operator oder simikolon Fehlt 

          

          Buffer.Canvas.MoveTo(0,15);
          Buffer.Canvas.Pen.Color := ColorPal[0];


          for i := 0 to 239 do begin
               LCh := LOWORD(WaveData[i * 2]);
               RCh := HIWORD(WaveData[i * 2]);
               y := (LCh + RCh) div 2;
               y := Trunc((Y/32000) * 50);

                  Buffer.Canvas.Pen.Color := PaletteBitmap.Canvas.Pixels[010];
                  Buffer.Canvas.MoveTo(i, 50);
                  VBuffer.Canvas.LineTo(i, 50 - y);
                  Buffer.Canvas.Pixels[i, 50 - y] := ColorPal[5];
                  Buffer.Canvas.LineTo(i, 50 - y);

                  Buffer.Canvas.Pen.Color := PaletteBitmap.Canvas.Pixels[010];
                  Buffer.Canvas.MoveTo(i, 50);
                  Buffer.Canvas.LineTo(i, 50 + y);
                  Buffer.Canvas.Pixels[i, 50 - y] := ColorPal[5];
                  Buffer.Canvas.LineTo(i, 50 - y);
             end;
                             VideoBuffer.Canvas.Pen.Color := clBlack;
                   Buffer.Canvas.Brush.Color := clBlack;
                   Buffer.Canvas.Brush.Style := bsSolid;
                   Buffer.Canvas.CopyRect( Rect(0022256), MainEQBitmap.Canvas, Rect(00222 + 056 + 0));
                   
                   BitBlt(HWND, 0022256, VideoBuffer.Canvas.Handle, 00, srccopy)
             end;


Was Läuft da verkehrt ?

Gruss Bernd

Moderiert von user profile iconGausi: Code- durch Delphi-Tags ersetzt

_________________
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
Jetstream
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 222



BeitragVerfasst: Di 23.05.06 10:29 
user profile iconbernd29 hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
Rect(00222 056 + 0)					


Is noch Recht früh am Morgen :)

Delphi hat mit der Fehlermeldung schon ganz Recht, hinter der 220 steht nämlich einfach ne weitere Zahl, kein Komma.
bernd29 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116

winxp
D7 und VB6
BeitragVerfasst: Di 23.05.06 12:34 
Hallo,

Hab ich nun Geändert die Fehler Meldung Kommtz Trotz dem noch :cry:

gruss

_________________
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
Arno Nym
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Di 23.05.06 13:02 
Hi,
Da du nich angegebn hast was denn die Fehlermeldung ist, nehm ich mal an es liegt am letzten kopieren mit Bitblt.
Falls dein "Buffer" ein graphics.TBitmap ist solltest du mal versuchen ob es einfach mit Videobuffer.Canvas.draw(0,0,Buffer) funktioniert.

MFG Arno Nym
bernd29 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116

winxp
D7 und VB6
BeitragVerfasst: Di 23.05.06 13:10 
hallo

Die Fehler Meldung Tritt genau da auf : Buffer.Canvas.CopyRect( Rect(0, 0, 222, 56),

Fehler Meldung Operator oder simikolon Fehlt .

Gruss

_________________
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
Arno Nym
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131



BeitragVerfasst: Di 23.05.06 15:25 
Hi !
also folgendes:
Rect ist eine Funktion die eine Variable vom Typ TRect zurückliefert, nimm die Definition "var Rect:integer" raus, und probiers dann noch mal.
Im übrigen verstehe ich nicht warum du erst das "Buffer"-Bild mühsam zeichnist und dann mit dem Eqalizer-Bild überschreibst?

MFG, Arno Nym