| |
|
|
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 ▲ |
|
|
|
|
| gentil! Es hat mir den journée vergraut. |
|
|
| |
|
|
|
ByteAttack | Habe den effet seulement avec qui ProSpeed hinbekommen! très joli |
|
|
| |
|
|
|
| ou bien manuel: [...]
Ergraut den Bildschirm gestreckt sur 2 Sekunden, peut sich naturellement encore optimaliser/beschleunigen. |
|
|
| |
|
|
|
Andreas Miethe
| Beschleunigen peux on es aussi so 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)~GetDC(GetDesktop())
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-0,0
StretchBlt(%hdc2,0,0,%maxx,%maxy,DC1&,0,0,%maxx,%maxy,~SRCCOPY)
Repaint
~Movewindow(%hwnd,0,0,%maxx,%maxy,1)
ColorAdjustment holen
GetColorAdjustment(%hdc2,CA#)
Blittmode auf HALFTONE setzen
SetStretchBltMode(%hdc2,4)
Full Color auf Werte zwischen -100 und 100
CA#.caColorfulness% = -100 Grautöne
ColorAdjustment setzen
SetColorAdjustment(%hdc2,CA#)
StretchBlt(%hdc2,0,0,%maxx,%maxy,DC1&,0,0,%maxx,%maxy,~SRCCOPY)
Repaint
Bilder freigeben
~DeleteDC(DC&)
~DeleteDC(DC1&)
~DeleteDC(DC2&)
~DeleteObject(Pic&)
~DeleteObject(Pic1&)
Dispose CA#
EndProc
FadeToGray()
waitinput 10000
ref='./../../funktionsreferenzen/XProfan/end/'>end
cela belle à SetColorAdjustment() ist, dass on aussi Gamma-Werte,Kontraste, Helligkeit usw. très vite manipuler peux |
|
|
| 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 : [...] | 29.12.2009 ▲ |
|
|
|
|
| avec "Beschleunigen" meinte je plutôt, den unperformanten Code qui NProc "optimieren". ^ ^
mais so viele SetColorAdjustment-Beispiel erwecken cela Herz.
comment bekomme je eigentlich nochmal de einem HPic un DC sur dem ensuite aussi z.B. SetPixel(dc,... klappt? |
|
|
| |
|
|
|
Frank Abbing | DC avec SelectObject() anbinden. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| je bekomme avec AlphaBlend simple keinen Nichtabsturz hin, quoi fais je ici faux? KompilierenMarqueSéparation $H Windows.ph
cls
Var bm1& = ~CreateBitmap(256,256,1,32,0)
Var DC1& = ~CreateCompatibleDC(0)
~SelectObject(DC1&,bm1&)
Var bm2& = ~CreateBitmap(256,256,1,32,0)
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,addr(bf&))
waitinput
| 30.12.2009 ▲ | |
|
|
|
|
Frank Abbing | |
|
| |
|
|
|
| je übergeb doch qui Adresse de einem Long, mais pourquoi obiges abstürzt, je n'en sais rien... bekommst Du es trop courir? |
|
|
| |
|
|
|
Frank Abbing | Übergib un LongInt, aucun Adresse. dans meinem Beispiel wären es:
ftn.BlendOp,0 ftn.BlendFlags,0 ftn.SourceConstantAlpha,128 ;Transparenz 0/255 ftn.AlphaFormat,0
=
0 128 0 0
=
00000000 10000000 00000000 00000000
=
%00000000100000000000000000000000
|
|
|
| |
|
|