Rene's FAQ Liste
Dank auch den Schreibern in die dcl*

Liste der FAQ Einträge "Grafik / Multimedia"

Unter D5 + RX275 + W95/98 bringen die Zusatzfarben Fehler
Aktuellen CD-Track ermitteln
Vom aktuellen Screen eine Kopie ziehen
Anzahl eingestellter Farben


Unter D5 + RX275 + W95/98 bringen die Zusatzfarben Fehler


 Farben manuell eintragen und eins dazuzählen:
 
 Originalcodes
 ClCream      = $00A6CAF0 = 10930928
 ClMoneyGreen = $00C0DCC0 = 12639424
 clSkyBlue    = $00FFFBF0 = 17676176

Seitenanfang

Aktuellen CD-Track ermitteln


 uses MMSystem
 
 in einem OnTimer Event:
 
 var Trk, Min, Sec: Word;
 begin
  with MediaPlayer1 do begin
   Trk:= MCI_TMSF_TRACK(Position);
   Min:=MCI_TMSF_MINUTE(Position);
   Sec:=MCI_TMSF_SECOND(Position);
   Label1.Caption:=Format('%.2d',[Trk]);
   Label2.Caption:=Format('%.2d:%.2d',[Min,Sec]);
  end;
 end;

Seitenanfang

Vom aktuellen Screen eine Kopie ziehen


 procedure TMainForm.CopyScreen;
 var DCPuffer, DC: HDC;
     BmpPuffer : HBitmap;
     X, Y : Integer;
 begin
   try
     Visible := False;
     DC := CreateDC('DISPLAY', nil, nil, nil);
     X := Screen.Width;
     Y := Screen.Height;
     DCPuffer := CreateCompatibleDC(DC);
     BmpPuffer := CreateCompatibleBitmap(DC, X, Y);
     SelectObject(DCPuffer, BmpPuffer);
     BitBlt(DCPuffer, 0, 0, X, Y, DC, 0, 0, SRCCOPY);
     BitBlt(Image1.Canvas.Handle, 0, 0, X, Y, DCPuffer, 0, 0, SRCCOPY);
     Image1.Picture.SaveToFile('screen.bmp');
   finally
     DeleteDC(DCPuffer);
     DeleteDC(DC);
   end;
 end;

Seitenanfang

Anzahl eingestellter Farben


 numberOfColors :=
   1 shl (GetDeviceCaps(Form1.Canvas.Handle, BITSPIXEL) *
          GetDeviceCaps(Form1.Canvas.Handle, PLANES);

Seitenanfang