Thema: Delphi Image Problem???

Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Image Problem???

  Alt 17. Nov 2005, 10:48
Zitat von Bernd29bln:
wie bekommt man die Bilder übereinander , also so das man nur eine LED sehen Kann ?
Wie ist das gemeint ?

Das erste BitBlt zeichnet alle "Aus"-LED's, das zweite BitBlt zeichnet darüber die LED's die "An" sein sollen.
Möchtest du die LED's einzeln An,-bzw. Ausschalten (zB. die Erste und die Letzte) so must du das zweite BitBlt in einer Schleife oder in einem Case-Statement ausführen und nur die LED(s) zeichnen lassen die "An" sein soll.

Zum Bleistift:
Delphi-Quellcode:
procedure TForm1.SetLEDs(QuellImage, ZiehlImage: TImage; LEDs: String);
var
  i: Byte;
  h,w: Integer;
begin
  // LEDs zeichnen
  for i := 1 to Length(LEDs) do
  begin
    if LEDs[i] <> '0'
      then h := 0
      else h := QuellImage.Height div 2;

    w := QuellImage.Width * (i-1);

    BitBlt(
      ZiehlImage.Canvas.Handle,
      w,
      0,
      QuellImage.Width * i,
      QuellImage.Height div 2,
      QuellImage.Picture.Bitmap.Canvas.Handle,
      0,
      h,
      SrcCopy);
  end;

  // Ziehl-Image neu zeichnen lassen
  ZiehlImage.Repaint;
end;

//Wenn die zwei mittleren leuchten sollen, Aufruf zB.:
SetLEDs(Image1, Image2, '00011000');
... auch als Anhang zu haben:
Angehängte Dateien
Dateityp: zip beispiel2_599.zip (2,7 KB, 9x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat