Einzelnen Beitrag anzeigen

Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Probleme mit Sinus Darstellung

  Alt 24. Feb 2015, 10:08
Hey,

hier mal ein kleines Beispiel. Auf deinem Form sollte bereits ein "TImage" namens "Image1" liegen. Dann folgende Prozedur aufrufen.

Delphi-Quellcode:
procedure TForm1.DrawWaveForm;
var
  Bitmap: TBitmap;
  i, Start: integer;
begin
  Bitmap := TBitmap.Create;
  Bitmap.Width := Image1.Width;
  Bitmap.Height := Image1.Height;
  Bitmap.Canvas.Brush.Color := clMaroon;
  Bitmap.Canvas.Fillrect(Image1.Canvas.ClipRect);
  Bitmap.Transparent := true;
  Bitmap.TransparentColor := clMaroon;
  Bitmap.Canvas.Pen.Color := clBlack;
  Bitmap.Canvas.Pen.Width := 1;
  Start := Image1.Height div 2; //Sinuskurve im Nulldurchgang beginnen -> In der Mitte

  Bitmap.Canvas.MoveTo(0, Start);
  for i := 0 to Image1.Width - 1 do
    Bitmap.Canvas.LineTo(i, Start - Trunc(Start * sin(2*pi*(1/Image1.Width)*i)));
  
  Image1.Transparent := true;
  Image1.Picture.Assign(Bitmap);
  Bitmap.Free;
end;
Grüße
Headbucket
  Mit Zitat antworten Zitat