| |
|
|
Andreas Miethe
| Per SetColorAdjustment puede ser schöne Effekte con Bildern sin viel Aufwand realisieren ! So va z.B. el Überblenden de Farbe después de Grau como beim Neustart-Diálogo de Windows, oder el Ausblenden después de Schwarz usw. Hier una Ejemplo, cómo Graustufen-Bilder erzeugen kann. KompilierenMarcaSeparación $H Windows.ph
Importdll("GDI32.DLL","")
struct COLORADJUSTMENT =
caSize%,
caFlag%,
caIlluminantIndex%,
caRedGamma%,
caGreenGamma%,
caBlueGamma%,
caReferenceBlack%,
caReferenceWhite%,
caContrast%,
caBrightness%,
caColorfulness%,
caRedGreenTint%
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)
ColorAdjustment holen
GetColorAdjustment(DC&,CA#)
Blittmode auf HALFTONE setzen
SetStretchBltMode(DC&,4)
Full Color auf Werte zwischen -100 und 100
CA#.caColorfulness% = -100 Grautöne
ColorAdjustment setzen
SetColorAdjustment(DC&,CA#)
Vom Ausgangsbild ins Bild
StretchBlt(DC&,0,0,%maxx,%maxy,DC1&,0,0,%maxx,%maxy,~SRCCOPY)
DCs freigeben
~DeleteDC(DC&)
~DeleteDC(DC1&)
~DeleteDC(DC2&)
Bild Speichern
SavePic "1.png",Pic&
Bilder freigeben
~DeleteObject(Pic&)
~DeleteObject(Pic1&)
Dispose CA#
Anzeigen
ShellExec("1.png","open",1)
./../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 : [...] | 13.12.2009 ▲ |
|
|
|
|
Frank Abbing | Klasse API! Kannte Yo nada. |
|
|
| |
|
|
|
p.specht
| Fehlende Signo ergänzt:
$H Windows.ph
Importdll("GDI32.DLL","")
struct COLORADJUSTMENT = \
caSize%,\
caFlag%,\
caIlluminantIndex%,\
caRedGamma%,\
caGreenGamma%,\
caBlueGamma%,\
caReferenceBlack%,\
caReferenceWhite%,\
caContrast%,\
caBrightness%,\
caColorfulness%,\
caRedGreenTint%
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)
'ColorAdjustment holen
GetColorAdjustment(DC&,CA#)
'Blittmode en HALFTONE conjunto
SetStretchBltMode(DC&,4)
'Full Color en Werte zwischen -100 y 100
CA#.caColorfulness% = -100'Grautöne
'ColorAdjustment conjunto
SetColorAdjustment(DC&,CA#)
'Vom Ausgangsbild en el Bild
StretchBlt(DC&,0,0,%maxx,%maxy,DC1&,0,0,%maxx,%maxy,~SRCCOPY)
'DCs liberación
~DeleteDC(DC&)
~DeleteDC(DC1&)
~DeleteDC(DC2&)
'Bild Guardar
SavePic "1.png",Pic&
'Bilder liberación
~DeleteObject(Pic&)
~DeleteObject(Pic1&)
Disponer CA#
'Mostrar
ShellExec("1.png","open",1)
end
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 18.02.2019 ▲ |
|
|
|