AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Transparenz in TImage mit WinXP SP2 versagt ?
Thema durchsuchen
Ansicht
Themen-Optionen

Transparenz in TImage mit WinXP SP2 versagt ?

Ein Thema von DerAndereMicha · begonnen am 14. Sep 2004 · letzter Beitrag vom 28. Okt 2006
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#1

Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 14. Sep 2004, 09:45
Mir ist aufgefallen, daß in Anwendungen in welchen TImages mit Transparenz dargestellt
werden, seit SP2 in WinXP die Transparenz nicht mehr transparent ist. Hat jemand von Euch
ne Ahnung an was das liegt. Unter Win2003 Server ist es auch so. Programme sind mit
Delphi 5 compiliert.
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 14. Sep 2004, 10:41
Hier noch zwei Screenshots. Einmal unter XP SP1 und einmal unter XP SP2.

Das Bitmap wird über ne Imagelist mit Hilfe von

ImageList1.GetBitmap(0,image1.picture.bitmap); in das Image geladen.
Miniaturansicht angehängter Grafiken
xpsp2.jpg   xpsp1.jpg  
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von gothic_mike
gothic_mike

Registriert seit: 2. Okt 2003
Ort: Olbernhau
134 Beiträge
 
Delphi 7 Personal
 
#3

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 14. Sep 2004, 11:13
Zitat von DerAndereMicha:
Mir ist aufgefallen, daß in Anwendungen in welchen TImages mit Transparenz dargestellt
werden, seit SP2 in WinXP die Transparenz nicht mehr transparent ist. Hat jemand von Euch
ne Ahnung an was das liegt. Unter Win2003 Server ist es auch so. Programme sind mit
Delphi 5 compiliert.
Selbiges problem tritt auch mit Delphi 7 Personal unter XP auf, liegt nicht an TImage sondern an TImageList.

ich habe das mit folgendem Code (irgendwo mal im Netz gefunden) hinbekommen, allerdings müssen dann die Bilder erst zur laufzeit in die Imagelist geladen werden!

Delphi-Quellcode:
uses Consts, CommCtrl;

Procedure ConvertTo32BitImageList(Const ImageList: TImageList);
Const
  Mask: Array[Boolean] Of Longint = (0, ILC_MASK);
Var
  TemporyImageList: TImageList;
Begin
  If Assigned(ImageList) Then
  Begin
    TemporyImageList := TImageList.Create(Nil);
    Try
      TemporyImageList.Assign(ImageList);
      With ImageList Do
      Begin
        ImageList.Handle := ImageList_Create(Width, Height, ILC_COLOR32 Or Mask[Masked], 0, AllocBy);
        If Not ImageList.HandleAllocated Then
        Begin
          Raise EInvalidOperation.Create(SInvalidImageList);
        End;
      End;
      ImageList.AddImages(TemporyImageList);
    Finally
      TemporyImageList.Free;
    End;
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  ConvertTo32BitImageList(ImageList1);
  ImageList1.Clear;
  bmp := TBitmap.Create;
  try
    bmp.LoadFromFile('X:\images\glyFXfree\delete24_h.bmp');
    ImageList1.Add(bmp, bmp);
  finally
    bmp.Free;
  end;

  ImageList1.GetBitmap(0,image1.picture.bitmap);
  ImageList1.GetBitmap(0,image2.picture.bitmap);
end;
Miniaturansicht angehängter Grafiken
timagelist.jpg  
bye4now, gothic_mike
. ..: carpe noctem :: coding in the darkness :.. .
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 14. Sep 2004, 11:16
Hast du dein Proggi auch schon mal mit anderen Delphi Versionen compiliert und es damit getestet?
Angehängte Dateien
Dateityp: exe project1_856.exe (384,5 KB, 43x aufgerufen)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 14. Sep 2004, 13:30
Habs auch schon mit Delphi 7 probiert - selbes Ergebnis.

Und Bilder zur Laufzeit mittels

bmp.LoadFromFile('X:\images\glyFXfree\delete24_h.bmp'); in die ImageList zu laden kommt bei mir nicht in Frage... Sorry. Aber danke
für den Vorschlag.
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von gothic_mike
gothic_mike

Registriert seit: 2. Okt 2003
Ort: Olbernhau
134 Beiträge
 
Delphi 7 Personal
 
#6

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 15. Sep 2004, 00:18
Zitat von DerAndereMicha:
Habs auch schon mit Delphi 7 probiert - selbes Ergebnis.

Und Bilder zur Laufzeit mittels

bmp.LoadFromFile('X:\images\glyFXfree\delete24_h.bmp'); in die ImageList zu laden kommt bei mir nicht in Frage... Sorry. Aber danke
für den Vorschlag.
Ich bin gerade dabei wie ein irrer im netz nach einer lösung zu suchen, da ich selbiges problem auch habe.
hätte noch einen anderen Vorschlag, nimm doch statt aus der ImageList die Bilder aus einer Resourcendatei...
bye4now, gothic_mike
. ..: carpe noctem :: coding in the darkness :.. .
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 15. Sep 2004, 01:01
Also wenn dieser Code daoben wirklich funktioniert, dann einfach bei Programmstart die Bilder der ImageList in eine temporäre ImageList kopieren, die ImageList mit dem Code auf 32 Bit umstellen, dann die Bilder wieder von der Temporären ist die umgebaute ImageList eifügen und schon sollte es auch gehn, oder eben die Resourcen verwenden -.-
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 26. Sep 2004, 19:26
Hi!

Hat sich hier irgendwas ergeben? Habe gerade dasselbe Problem: Die Transparenz der ImageList funktioniert mit 32x32 Bitmaps, aus einer Ressource geladen, nicht
Dani H.
  Mit Zitat antworten Zitat
vsandre

Registriert seit: 26. Sep 2004
7 Beiträge
 
#9

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 26. Sep 2004, 19:32
Probiert einfach mal dieses aus.
MeineImagelist.Masked := false; Der Standardwert bei Delphi ist nämlich auf true gesetzt.

ciao

Edit:
1. Ich meien bevor die Bilder in die ImageList geladen werden.
2. In der IDE könnt ihr das natürlich auch schon einstellen.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Transparenz in TImage mit WinXP SP2 versagt ?

  Alt 26. Sep 2004, 19:35
Hmm, das ändert leider auch nichts.
Edit: Auch nicht wenn ich es in der IDE ändere.
Dani H.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 14:27 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