Français
Source/ Codesnippets

Fadetogray

 
- page 1 -



Andreas
Miethe


Einen habe je encore pour cet l'an.

Bildschirm eingrauen, comment beim XP-Abmelde-Dialog.
KompilierenMarqueSéparation
 $H Windows.ph
Importdll("GDI32.DLL","")
struct  COLORADJUSTMENT =
caSize%,
caFlag%,
caIlluminantIndex%,
caRedGamma%,
caGreenGamma%,
caBlueGamma%,
caReferenceBlack%,
caReferenceWhite%,
caContrast%,
caBrightness%,
caColorfulness%,
caRedGreenTint%

Proc FadetoGray

    windowstyle $F0
    Var CA# = New(COLORADJUSTMENT)
    Bild anlegen
    Var Pic& = Create("hNewPic",%maxx,%maxy,0)
    Var DC& = ~CreateCompatibleDC(%hdc)
    Ausgangsbild anlegen
    Var Pic1& = Create("hNewPic",%maxx,%maxy,0)
    Var DC1& = ~CreateCompatibleDC(%hdc)
    DC vom Desktop
    Var DC2& = ~CreateDC("DISPLAY",0,0,0)
    Bilder ins DC
    ~SelectObject(DC&,PIC&)
    ~SelectObject(DC1&,PIC1&)
    Vom Desktop ins Ausgangsbild
    dient nur dazu ein Bild zu haben !
    StretchBlt(DC1&,0,0,%maxx,%maxy,DC2&,0,0,%maxx,%maxy,~SRCCOPY | $40000000)
    Window 0,0-%maxx,%maxy
    ColorAdjustment holen
    GetColorAdjustment(%hdc2,CA#)
    Blittmode auf HALFTONE setzen
    SetStretchBltMode(%hdc2,4)
    Full Color auf Werte zwischen -100 und 100

    whileLoop CA#.caColorfulness%,-100,-8

        CA#.caColorfulness% = &Loop  Grautöne
        ColorAdjustment setzen
        SetColorAdjustment(%hdc2,CA#)
        StretchBlt(%hdc2,0,0,%maxx,%maxy,DC1&,0,0,%maxx,%maxy,~SRCCOPY)
        DrawsizedPic Pic&,0,0-%maxx,%maxy;0
        Repaint

    endwhile

    Bilder freigeben
    ~DeleteDC(DC&)
    ~DeleteDC(DC1&)
    ~DeleteDC(DC2&)
    ~DeleteObject(Pic&)
    ~DeleteObject(Pic1&)
    Dispose CA#

EndProc

FadeToGray()
waitinput 10000
s4 href='./../../funktionsreferenzen/XProfan/end/'>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 :  [...] 
28.12.2009  
 



 
- page 2 -



Frank
Abbing
Du devrait aussi CreateCompatibelBitmap benutzen, pas CreateBitmap.
KompilierenMarqueSéparation
 $H Windows.ph
cls
Var bm1& = ~CreateCompatibleBitmap(%hdc,256,256)
Var DC1& = ~CreateCompatibleDC(0)
Print bm1&
Print dc1&
~SelectObject(DC1&,bm1&)
Var bm2& = ~CreateCompatibleBitmap(%hdc,256,256)
Var DC2& = ~CreateCompatibleDC(0)
~SelectObject(DC2&,bm2&)
~bitblt(%hDc,0,0,256,256,dc1&,0,0,~SRCCOPY)
var bf&=255 * $10000 | $1000000
waitinput
~AlphaBlend(%hdc,0,0,128,128,dc1&,0,0,128,128,%00000000010000000000000000000000)
waitinput
end
 
30.12.2009  
 



Stürzt es chez Dir pas?
 
30.12.2009  
 




Frank
Abbing
Teste cela Beispiel dans mon letzten Posting. Funktioniert très joli.
chez MSDN wird de Addresse sur Struktur pas geredet, mais de Struktur. dans solchen Fällen darfst du keinen aiguille angeben mais qui données qui Struktur direct angeben. dans diesem le cas ist cela très simple, weil seulement un LongInt transfert volonté muss. Ist lediglich quelque chose Bitrechnerei. tu peux mais aussi Byte bereich#=0,0,128,0 / Long(bereich#,0) benutzen (ungetestet, mais so ähnlich).
 
30.12.2009  
 



>> Teste cela Beispiel dans mon letzten Posting. Funktioniert très joli.

non tambour mon je oui, stürzt chez mir genauso avec selber annonce read de 0 - alors aucun Changement.
 
30.12.2009  
 




Frank
Abbing
chez mir fonctionne es comme son soll. Pour Mausklick legt sich qui (schwarze) Bitmap trop 50% transparent (sieht ensuite gris aus à cause de des weißen Hintergrunds) sur den Imprimer-Text. dans Shooter et OFrame benutze je es genauso, sans Probleme.
peut-être la hâte du doch pas den ganzen Sourcecode kopiert gehabt? Hatte deinen original Code nämlich abgeändert.

 
30.12.2009  
 




Andreas
Miethe


chez mir funktioniert es sur cet Art.
KompilierenMarqueSéparation
 $H Windows.ph
cls
Print "Alphablend"
Var bm1& = Create("hNewPic",256,256,$80)
Var DC1& = ~CreateCompatibleDC(0)
~SelectObject(DC1&,bm1&)
Var bm2& = Create("hNewPic",256,256,$FFFFFF)
Var DC2& = ~CreateCompatibleDC(0)
Startpaint bm2&
DrawText 100,100,"TEXT"
Endpaint
~SelectObject(DC2&,bm2&)
var bf& = 128 << 16
Waitinput
~AlphaBlend(%hdc,0,0,256,256,dc1&,0,0,256,256,bf&)
bf& = 64 << 16
Waitinput
~AlphaBlend(%hdc,0,0,256,256,dc2&,0,0,256,256,bf&)
waitinput
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 :  [...] 
30.12.2009  
 




Frank
Abbing
Du benutzt oui qui gleiche Methode (seulement avec Bitgeschiebe). là sollte mon Code chez dir doch aussi aller, ou bien?
 
30.12.2009  
 




Andreas
Miethe


Frabbing, Beitrag=55678, Zeitpunkt=30.12.2009
Du benutzt oui qui gleiche Methode (seulement avec Bitgeschiebe). là sollte mon Code chez dir doch aussi aller, ou bien?


qui funktioniert chez mir ! étions mir seulement trop viele Nullen et Einsen
 
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 :  [...] 
30.12.2009  
 




Frank
Abbing
ah bon, oui. Sollte aussi seulement qui technologie sur niederem Level manifester. mon seulement, weils chez David pas ging. Hat il wohl quoi verschusselt.
 
30.12.2009  
 



oui, hab je quoi verschusselt - es funktioniert naturellement!
 
31.12.2009  
 




p.specht

Allererstes Beispiel de Andreas Miethe+ rennoviert:
' $H Windows.ph
Importdll("GDI32.DLL",»)
struct  COLORADJUSTMENT = \
caSize%, \
caFlag%, \
caIlluminantIndex%, \
caRedGamma%, \
caGreenGamma%, \
caBlueGamma%, \
caReferenceBlack%, \
caReferenceWhite%, \
caContrast%, \
caBrightness%, \
caColorfulness%, \
caRedGreenTint%

Proc FadetoGray

    style de fenêtre $F0
    Var CA# = New( COLORADJUSTMENT )
    '   Bild anlegen
    Var Pic& = Créer("hNewPic",%maxx,%maxy,0)
    Var DC& = ~CreateCompatibleDC(%hdc)
    '   Ausgangsbild anlegen
    Var Pic1& = Créer("hNewPic",%maxx,%maxy,0)
    Var DC1& = ~CreateCompatibleDC(%hdc)
    '   DC vom Desktop
    Var DC2& = ~CreateDC("DISPLAY",0,0,0)
    '   Bilder ins DC
    ~SelectObject(DC&,PIC&)
    ~SelectObject(DC1&,PIC1&)
    '   Vom Desktop ins Ausgangsbild
    '   dient seulement en supplément un Bild trop avons !
    StretchBlt(DC1&,0,0,%maxx,%maxy,DC2&,0,0,%maxx,%maxy,~SRCCOPY | $40000000)
    Fenêtre 0,0-%maxx,%maxy
    '   ColorAdjustment holen
    GetColorAdjustment(%hdc2,CA#)
    '   Blittmode sur HALFTONE mettons
    SetStretchBltMode(%hdc2,4)
    '   Full Color sur Werte entre -100 et 100

    whileLoop CA#.caColorfulness%,-100,-8

        CA#.caColorfulness% = &Boucle'  Grautöne
        '       ColorAdjustment mettons
        SetColorAdjustment(%hdc2,CA#)
        StretchBlt(%hdc2,0,0,%maxx,%maxy,DC1&,0,0,%maxx,%maxy,~SRCCOPY)
        DrawsizedPic Pic&,0,0-%maxx,%maxy;0
        Repaint

    endwhile

    '  Bilder freigeben
    ~DeleteDC(DC&)
    ~DeleteDC(DC1&)
    ~DeleteDC(DC2&)
    ~DeleteObject(Pic&)
    ~DeleteObject(Pic1&)
    Dispose CA#

ENDPROC

FadeToGray()
waitinput 10000
end

P.S.: Klappt aussi dans Win7-64SP1
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
22.01.2019  
 




Manfred
Barei
alors sous Win 10 passiert rien
 
XProfan X2
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
23.01.2019  
 




Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

25.230 Views

Untitledvor 0 min.
RudiB.22.04.2021
Stefan8115.03.2021
N.Art18.11.2020
p.specht19.10.2020
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie