Deutsch
Forum

Alphamaske eine Icons in eine Imageliste quetschen

 

Jac
de
Lad
Folgendes Problem:

Das Icon im Anhang kann ich wunderbar in eine Imagelist laden und damit arbeiten. Auch die Transparenzfarbe wird wunderbar in die Hintergrundfarbe umgewandelt. Nur leider hat das Icon absolut hässliche Kanten, was daran liegt, dass die Alphamaske nicht geladen wird. Das sieht man auch im Explorer (unter Win2000 getestet). Programme wie XnView laden aber die Alphamaske und zeigen es mit schön soften Rändern an. Möglich ist es also und die Alphamaske ist auch vorhanden (mit @Icon Sushi getestet). Und soweit ich weiß ist es auch möglich die Maske in die Imagelist zu laden. Hat jemand ne Idee wie das geht? Ich habe schon alles ausprobiert, bin aber nicht fündig geworden.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.01.2008  
 




Jac
de
Lad
Und hier das Icon...habs natürlich vergessen.

2 kB
Hochgeladen:08.01.2008
Ladeanzahl121
Herunterladen
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.01.2008  
 



Nicht das ich hierbei irgendwie ne Ahnung habe aber ich behaute der Kanal wird geladen und auch angezeigt, jedoch nur mit der falschen Farbe gefiltert. Haste mal Screenshot? Ich glaube es muss halt irgendwie die Hintergrundfarbe angegeben werden welche für das Filtern einzubeziehen ist. Könnte sein das dies ein Brush sein muss denn, wenn ich z.B. mit Drawicon ein Icon auf hWnd zeichne dann wird das Icon korrekt mit Antialias gezeichnet.

Wie gesagt, ein Screenshot wäre hier hilfreich.
 
08.01.2008  
 




Jac
de
Lad
Icons können von Natur aus eine Transparenzfarbe besitzen. Diese wird dann durch die Hintergrundfarbe ersetzt. Wie im Screenshot (Toolbar, 2. Icon von rechts). Aber der Rand bleibt. Die Transparenzmaske hat 8 Bit und deshalb einen Antialiasingeffekt. Wird aber eben nicht angezeigt. Versuch mal das Icon in XnView oder so zu laden, da siehst du den Unterschied.

129 kB
Hochgeladen:08.01.2008
Ladeanzahl152
Herunterladen
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.01.2008  
 



Jaja, ich weiß was Du meinst der Effekt ist mir völlig klar. Vielleicht fehlt dem Parent ein Brush oder so - das ist aber nur eine Vermutung.
 
08.01.2008  
 




Jac
de
Lad
Tja, wenn ich das wüsste...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.01.2008  
 




Andreas
Miethe


Tja, bei mir gehts
KompilierenMarkierenSeparieren
 $H windows.ph
 $H commctrl.ph
 $H ShellApi.ph

Proc GetSmallSysImageList

    Declare file$,fileinfo$,result&
    file$= Info.Ico
    fileinfo$ = Space$(352)
    result&= ~SHGetFileInfo(addr(file$),0,addr(FileInfo$),352,$04102)
    Return result&

EndProc

zum Testen einfache Imagelist anlegen
Var IL& = GetSmallSysImageList()
~ImageList_SetBkColor(IL&,~CLR_NONE)Transparenter Hintergrund
Var TabText$ = Tabtext
Declare TC_ITEM#
Dim TC_ITEM#,28
Clear TC_ITEM#
Long TC_ITEM#,0 = ~TCIF_TEXT | ~TCIF_IMAGE
Long TC_ITEM#,4 = 0
Long TC_ITEM#,8 = 0
Long TC_ITEM#,12 = Addr(TabText$)
Long TC_ITEM#,16 = Len(TabText$)
Long TC_ITEM#,20 = 4IconIndex
Long TC_ITEM#,24 = 0
cls
Var Tab& = Create(TabCtrl,%hwnd,,10,10,300,300)
Sendmessage(Tab&,~TCM_DELETEITEM,0,0)
SendMessage(Tab&,~TCM_SETIMAGELIST,0,IL&)
SendMessage(Tab&,~TCM_INSERTITEM,0,TC_ITEM#)
waitinput
Dispose TC_ITEM#
end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
08.01.2008  
 




Jac
de
Lad
Falscher Thread. Die Tabgeschichte ist schon vorbei.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.01.2008  
 




Andreas
Miethe


Ne, ist schon richtig, ich habe nur den Quelltext missbraucht.

Hier aber noch ein Beispiel ( auch mit TAB)

Möglicherweise löst diese Zeile Dein Problem ?

Var IL& = ~Imagelist_Create(32,32,~ILC_MASK | ~ILC_COLOR32,1,1)
KompilierenMarkierenSeparieren
 $H windows.ph
 $H commctrl.ph
 $H ShellApi.ph
Var IL& = ~Imagelist_Create(32,32,~ILC_MASK | ~ILC_COLOR32,1,1)
Var Ico& = ~LoadImage(0,Info.ico,~IMAGE_ICON,0,0,~LR_LOADFROMFILE)
~ImageList_AddIcon(IL&,Ico&)
DeleteObject Ico&
~ImageList_SetBkColor(IL&,~CLR_NONE)Transparenter Hintergrund
Var TabText$ = Tabtext
Declare TC_ITEM#
Dim TC_ITEM#,28
Clear TC_ITEM#
Long TC_ITEM#,0 = ~TCIF_TEXT | ~TCIF_IMAGE
Long TC_ITEM#,4 = 0
Long TC_ITEM#,8 = 0
Long TC_ITEM#,12 = Addr(TabText$)
Long TC_ITEM#,16 = Len(TabText$)
Long TC_ITEM#,20 = 0IconIndex
Long TC_ITEM#,24 = 0
cls
Var Tab& = Create(TabCtrl,%hwnd,,10,10,300,300)
Sendmessage(Tab&,~TCM_DELETEITEM,0,0)
SendMessage(Tab&,~TCM_SETIMAGELIST,0,IL&)
SendMessage(Tab&,~TCM_INSERTITEM,0,TC_ITEM#)
waitinput
Dispose TC_ITEM#
end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
08.01.2008  
 




Jac
de
Lad
Mach mal einen Screenshot, ich bekomme genau das zu sehen, was ich bemängel.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.01.2008  
 




Andreas
Miethe


Ok !

 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
08.01.2008  
 




Jac
de
Lad
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.01.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.233 Betrachtungen

Unbenanntvor 0 min.
H.Brill07.11.2023
Rainer Hoefs26.06.2023
Jörg Sellmeyer24.06.2018
Georg Teles15.02.2016
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie