Español
Fuente/ Codesnippets

Fadetogray

 
- Página 1 -



Andreas
Miethe


Einen Todavía para dieses Jahr.

Bildschirm eingrauen, como beim XP-Abmelde-Diálogo.
KompilierenMarcaSeparación
 $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  
 



 
- Página 2 -


Stürzt te con no?
 
30.12.2009  
 




Frank
Abbing
Teste el Ejemplo en mi letzten Posting. Funktioniert muy schön.
En MSDN se de Addresse en Struktur no geredet, pero de Struktur. In solchen Fällen darfst du no Zeiger angeben pero el Daten el Struktur direkt angeben. In diesem Fall es el muy simplemente, porque sólo una LongInt transferencia voluntad muss. Ist lediglich algo Bitrechnerei. Usted puede aber auch Byte bereich#=0,0,128,0 / Largo(bereich#,0) benutzen (ungetestet, aber así ähnlich).
 
30.12.2009  
 



>> Teste el Ejemplo en mi letzten Posting. Funktioniert muy schön.

Nein tambor mi Yo sí, stürzt en me genauso con selber Meldung read de 0 - also no Änderung.
 
30.12.2009  
 




Frank
Abbing
En me se ejecuta lo como ser se. Nach Mausklick legt el (schwarze) Mapa de bits a 50% transparent (sieht entonces grau de wegen des weißen Hintergrunds) encima el Imprimir-Texto. In Shooter y OFrame benutze Yo genauso, sin Problemas.
Tal vez hast du doch no el ganzen Sourcecode kopiert gehabt? Hatte deinen ursprünglichen Code nämlich abgeändert.

 
30.12.2009  
 




Andreas
Miethe


En me funktioniert lo en esta Art.
KompilierenMarcaSeparación
 $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
Usted benutzt sí el gleiche Método (sólo Bitgeschiebe). Como debería mein Code en dir doch auch ir, oder?
 
30.12.2009  
 




Andreas
Miethe


Frabbing, Beitrag=55678, Zeitpunkt=30.12.2009
Usted benutzt sí el gleiche Método (sólo Bitgeschiebe). Como debería mein Code en dir doch auch ir, oder?


Der funktioniert en me ! Waren me sólo a viele Nullen y 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
Ach así, sí. Sollte auch sólo el Technik en niederem Level demonstrieren. Mi sólo, weils en David no ging. Sombrero él wohl qué verschusselt.
 
30.12.2009  
 



Sí, tener Yo qué verschusselt - lo funktioniert natürlich!
 
31.12.2009  
 




p.specht

Allererstes Ejemplo 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

    windowstyle $F0
    Var CA# = New( COLORADJUSTMENT )
    '   Bild invertir
    Var Pic& = Crear("hNewPic",%maxx,%maxy,0)
    Var DC& = ~CreateCompatibleDC(%hdc)
    '   Ausgangsbild invertir
    Var Pic1& = Crear("hNewPic",%maxx,%maxy,0)
    Var DC1& = ~CreateCompatibleDC(%hdc)
    '   DC vom Desktop
    Var DC2& = ~CreateDC("DISPLAY",0,0,0)
    '   Bilder en DC
    ~Seleccionar objeto(DC&,PIC&)
    ~Seleccionar objeto(DC1&,PIC1&)
    '   Vom Desktop en el Ausgangsbild
    '   dient sólo a una Bild a haben !
    StretchBlt(DC1&,0,0,%maxx,%maxy,DC2&,0,0,%maxx,%maxy,~SRCCOPY | $40000000)
    Ventana 0,0-%maxx,%maxy
    '   ColorAdjustment holen
    GetColorAdjustment(%hdc2,CA#)
    '   Blittmode en HALFTONE conjunto
    SetStretchBltMode(%hdc2,4)
    '   Full Color en Werte zwischen -100 y 100

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

        CA#.caColorfulness% = &Loop'  Grautöne
        '       ColorAdjustment conjunto
        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 liberación
    ~DeleteDC(DC&)
    ~DeleteDC(DC1&)
    ~DeleteDC(DC2&)
    ~DeleteObject(Pic&)
    ~DeleteObject(Pic1&)
    Disponer CA#

ENDPROC

FadeToGray()
waitinput 10000
end

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




Manfred
Barei
Also bajo Win 10 passiert nichts
 
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  
 



 
- Página 3 -



p.specht

Gracias para el Info! Mit Win10 Yo desafortunadamente no Erfahrung. Tal vez braucht uno lokalen Admin-Status?
Gruss
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
25.01.2019  
 




Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

25.708 Views

Untitledvor 0 min.
RudiB.22.04.2021
Stefan8115.03.2021
N.Art18.11.2020
p.specht19.10.2020
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie