AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Transparenzproblem bei Manipulation eines Icons...
Thema durchsuchen
Ansicht
Themen-Optionen

Transparenzproblem bei Manipulation eines Icons...

Ein Thema von FriFra · begonnen am 3. Jan 2004 · letzter Beitrag vom 13. Jan 2004
Antwort Antwort
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#1

Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 09:55
Ich habe ein kleines Problem mit dem Ändern eines Icons. Das merkwürdige an der Sache ist, dass es auf einem Rechner läuft und auf dem anderen nicht...
http://www.frifra.de/Temp/buggyicon.JPG


Delphi-Quellcode:
procedure TXBuddy_Main.WriteReading(IsReading: Boolean);
var
  StartX, StartY: integer;
  id, n, x, y: integer;
  IsLarger: boolean;
  Bmp: TBitmap;
  ImageList: TImageList;
  TrColor: TColor;
begin
  if IsReading = True then
  begin
    TNA_IconTmp.Assign(TNA_Icon);
    try
      Bmp := TBitmap.Create;
      Bmp.Height := 16;
      Bmp.Width := 16;
      { Hintergrundfarbe }
      Bmp.Canvas.Brush.Color := clFuchsia;
      Bmp.Canvas.FloodFill(0, 0, clFuchsia, fsBorder);

      Bmp.Canvas.Draw(0, 0, TNA_Icon);

      Bmp.Canvas.Pixels[2, 2] := clMaroon;
      Bmp.Canvas.Pixels[2, 3] := clRed;
      Bmp.Canvas.Pixels[2, 4] := clRed;
      Bmp.Canvas.Pixels[2, 5] := clMaroon;
      Bmp.Canvas.Pixels[3, 2] := clRed;
      Bmp.Canvas.Pixels[3, 3] := clRed;
      Bmp.Canvas.Pixels[3, 4] := clRed;
      Bmp.Canvas.Pixels[3, 5] := clRed;
      Bmp.Canvas.Pixels[4, 2] := clRed;
      Bmp.Canvas.Pixels[4, 3] := clRed;
      Bmp.Canvas.Pixels[4, 4] := clRed;
      Bmp.Canvas.Pixels[4, 5] := clRed;
      Bmp.Canvas.Pixels[5, 2] := clMaroon;
      Bmp.Canvas.Pixels[5, 3] := clRed;
      Bmp.Canvas.Pixels[5, 4] := clRed;
      Bmp.Canvas.Pixels[5, 5] := clMaroon;

      ImageList := TImageList.CreateSize(16, 16);
      try
        ImageList.AddMasked(Bmp, clFuchsia);
        ImageList.GetIcon(0, TNA_Icon);
      finally
        ImageList.Free;
      end;
    finally
      Bmp.Free;
    end;
  end
  else
    TNA_Icon.Assign(TNA_IconTmp);
end;
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 10:18
liegt vielleicht an der Grafikkarte, stell
die exe-file doch mal zum Download frei,
dann kanns n anderer mit xp-pro testen.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 13:26
Hier ist mal ein Beispiel...
Angehängte Dateien
Dateityp: exe fontcheck.exe (165,5 KB, 17x aufgerufen)
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 13:38
Läuft ohne visuelle Makel.

(Windows XP Professional SP1, 32bit, nVidia GeForce 4 Ti4400 mit Forceware 53.03)

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 13:45
Unter XP pro mit einer Mobile Radeon läuft es nicht richtig...
Miniaturansicht angehängter Grafiken
lauftnet.jpg  
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 14:06
Zitat von FriFra:
Unter XP pro mit einer Mobile Radeon läuft es nicht richtig...
Mit meiner ATI Radeon 9800xl gehts auch nicht richtig. (gleicher Fehler wie bei FriFra)

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 15:02
Das Icon selbst scheint in Ordnung zu sein... ich habe jetzt mal folgenden Code am Ende der eingebaut:
Delphi-Quellcode:
  MS := TMemoryStream.Create;
  Image1.Picture.Icon.SaveToStream(MS);
  MS.Position := 0;
  Image1.Picture.Icon.LoadFromStream(MS);
  MS.Free;
Allerdings scheint Delphi nur eine 16-Farb Version in den Stream zu speichern, obwohl es ein 32-Bit Icon ist
Miniaturansicht angehängter Grafiken
buggyicon2.jpg  
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 3. Jan 2004, 15:29
Ich habs jetzt auch mal über eine Componenten-Resource probiert... auch dabei kommt dann eine 16-Farb Version des korrekt geänderten Icons raus. Kann Delphi Icons denn nicht in ihrer korrekten Auflösung speichern?

Delphi-Quellcode:
WriteComponentResFile('test.bin',Image1);
ReadComponentResFile('test.bin', Image1);
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Transparenzproblem bei Manipulation eines Icons...

  Alt 13. Jan 2004, 08:45
Ich habe es jetzt gelöst...

Ich zeichne nun meine Änderungen in ein neues komplett transparantes Icon und lege dieses Icon über das vorhandene:
http://www.swissdelphicenter.ch/de/showcode.php?id=1636

Danach wird das Icon auf allen Systemen korrekt angezeigt

Testprogramm: http://www.frifra.de/download/online/XBuddy.zip (nur für XBox-Live User geeignet!)
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz