| |
|
|
Rolf Leinung | Salut,
j'ai un Problem avec dem lighten eines Bildes... KompilierenMarqueSéparation
proc hellmacher
declare hdc1&,array1&,array2&
hdc1&=CreateExtBmp(%hdc,800,600)
CopyExtBmp(hdc1&,0,0,800,600,%Hdc,0,0,0)
array1&=InitExtFX(hdc1&)
WhileLoop 140
lighten(%HDC,0,0,array1&,2)
EndWhile
endproc
proc dunkelmacher
declare hdc1&,array1&,array2&
hdc1&=CreateExtBmp(%hdc,800,600)
CopyExtBmp(hdc1&,0,0,800,600,%Hdc,0,0,0)
array1&=InitExtFX(hdc1&)
WhileLoop 140
darken(%HDC,0,0,array1&,2)
EndWhile
endProc
LoadBmp bild.bmp,0,0,0
dunkelmacher
sleep 3000
hellmacher
Relatif à la dunklen faire klappt bien. eh bien voudrais je cela Gleiche Bild wieder aufhellen. avec lighten klappt cela malheureusement pas so comment je cela gemacht habe. peux mir là quelqu'un une le conseil donner?
Freundliche Grüße,
Rolf |
|
|
| |
|
|
|
Frank Abbing | Hab grad getestet, fonctionne doch parfait. Lädt dein Prog qui Dll peut-être pas? et s'il te plaît seulement lauffähige Codes testen! [web]https://XProfan.com/hilfe/textb/minimalbeispiel/[/web] |
|
|
| |
|
|
|
Rolf Leinung | qui Dll wird geladen. Sonst serait es sich oui pas abdunkeln. cela abdunkeln funktioniert oui aussi. mais cela aufhellen pas. qui Bildschirm wird zwar aufgehellt, jusqu'à il sait ist, mais cela Bild wird pas eingefadet.
Freundliche Grüße,
Rolf |
|
|
| |
|
|
|
Rolf Leinung | okay, ici nochmal comme ganzer qc. KompilierenMarqueSéparationdeclare neu&
$I prospeed_Funktionen.inc
neu&=usedll(dll/ProSpeed.dll)
@Set(TrueColor, 1)
Window 0,0-800,600
proc hellmacher
declare hdc1&,array1&,array2&
hdc1&=CreateExtBmp(%hdc,800,600)
CopyExtBmp(hdc1&,0,0,800,600,%Hdc,0,0,0)
array1&=InitExtFX(hdc1&)
WhileLoop 140
lighten(%HDC,0,0,array1&,2)
EndWhile
endproc
proc dunkelmacher
declare hdc1&,array1&,array2&
hdc1&=CreateExtBmp(%hdc,800,600)
CopyExtBmp(hdc1&,0,0,800,600,%Hdc,0,0,0)
array1&=InitExtFX(hdc1&)
WhileLoop 140
darken(%HDC,0,0,array1&,2)
EndWhile
endProc
loadbmp grafik/bild.bmp, 0, 0;0
dunkelmacher
sleep 3000
hellmacher
sleep 3000
end
|
|
|
| |
|
|
|
Frank Abbing | qui Funktion pouvoir dans deinem Code, quoi vous soll. Du verdunkelst den Bildschirn trop einer schwarzen Surface et fais ihn ensuite wieder heller jusqu'à il weiss ist. Au cours de cette Zeit volonté deine Bilddaten naturellement kontinuierlich geändert, sodass cela Ausgangsbild jadis verloren ist. Lighten() pouvoir cela Bild toujours heller, et chez einer schwarzen Ausgangsfläche wird es somit weiss! si du qui dunkle Surface wieder trop einem Bild aufhellen veux, musst du AlphaTrans() ou bien SemiTrans() verwenden. dans qui Anleitung findest du Beispiele en supplément.
et s'il te plaît Sourcecode ici dans Codetags mettons! So, seulement sans Leerzeichen:
[ code] ici steht Quellcode [ /code] KompilierenMarqueSéparationfxhandle1&=LoadExtBmp(0,%hdc) Handle 1: leere Bitmap erzeugen
name$=Bild.bmp
fxhandle2&=LoadExtBmp(addr(name$),%hdc) Handle 2: Bild laden, z.B. 640x480 groß
CopyExtBmp(fxhandle1&,0,0,640,480,%HDC,0,0,0) Inhalt des Profanfensters nach Handle 1
bytearray1&=InitExtFX(fxhandle1&) Byte-Array zu Handle 1 erzeugen
bytearray2&=InitExtFX(fxhandle2&) Byte-Array zu Handle 2 erzeugen
WhileLoop 100
SemiTrans(%HDC,0,0,bytearray2&,bytearray1&,&loop) Das Bild wird in 100 Schritten in die
Wend Hintergrundgrafik eingeblendet
FreeExtFX(bytearray1&) Byte-Array 1 wieder freigeben
FreeExtFX(bytearray2&) Byte-Array 2 wieder freigeben
FreeExtBmp(fxhandle1&) Handle 1 wieder freigeben
FreeExtBmp(fxhandle2&) Handle 2 wieder plan
|
|
|
| |
|
|
|
Rolf Leinung | merci pour qui rasche Antwort. peux es son cela sich là irgendwo encore un faute est? KompilierenMarqueSéparationdeclare fxhandle1&, name$,bytearray1&, fxhandle2&,bytearray2&, neu&
$I incprospeed_Funktionen.inc
neu&=usedll(dll/ProSpeed.dll)
@Set(TrueColor, 1)
Window 0,0-800,600
fxhandle1&=LoadExtBmp(0,%hdc)Handle 1: leere Bitmap erzeugen
name$=bild.bmp
fxhandle2&=LoadExtBmp(addr(name$),%hdc)Handle 2: Bild laden, z.B. 640x480 groß
CopyExtBmp(fxhandle1&,0,0,640,480,%HDC,0,0,0)Inhalt des Profanfensters nach Handle 1
bytearray1&=InitExtFX(fxhandle1&)Byte-Array zu Handle 1 erzeugen
bytearray2&=InitExtFX(fxhandle2&)Byte-Array zu Handle 2 erzeugen
WhileLoop 100
SemiTrans(%HDC,0,0,bytearray2&,bytearray1&,&loop)Das Bild wird in 100 Schritten in die
EndWhile Hintergrundgrafik eingeblendet
FreeExtFX(bytearray1&)Byte-Array 1 wieder freigeben
FreeExtFX(bytearray2&)Byte-Array 2 wieder freigeben
FreeExtBmp(fxhandle1&)Handle 1 wieder freigeben
FreeExtBmp(fxhandle2&)Handle 2 wieder | 21.02.2008 ▲ | |
|
|
|
|
Rolf Leinung | Dein faute steckt dans cette la ligne:
fxhandle1&=LoadExtBmp(0,%hdc)Handle 1: le vide Bitmap erzeugen
> une le vide Bitmap erzeugst du mais avec CreateExtBmp().
allô Frank,
mon faute steht dans Deiner Prospeed-Anleitung oui c'est ca so trop SemiTrans peut-être chez einem Update la fois anpassen, eh là encore plus drüber stolpern, qui ähnlich wenig Ahnung avons comment je
Freundliche Grüße,
Rolf |
|
|
| |
|
|
|
| @Rolf: Es wäre plus que höflich si Du Votre Postings überarbeitest et cela Code-journée comment de Frank bereits erklärt korrekt anwendest. si es alle créer wirds chez Dir aussi marcher.
Mfg, Chuck Norris. (Achte meinen RoundHouseKick quel toi pulverisiert par qui mieseste sur qui Erde existierende Kanalisation pourchasser peux dans qui Du verteilt Dein übriges existence fristen würdest! ) |
|
|
| |
|
|
|
Frank Abbing |
mon faute steht dans Deiner Prospeed-Anleitung oui c'est ca so trop SemiTrans peut-être chez einem Update la fois anpassen, eh là encore plus drüber stolpern, qui ähnlich wenig Ahnung avons comment je
Ah maintenant oui. j'étais fälschlicherweise de LoadExtImage() ausgegangen... LoadExtBmp() darf comme ersten paramètre une zéro beinhalten. dans dem le cas entspricht qui Grösse qui neuen Bitmap qui qui maximalen Taille des aktuellen Bildschirms (%maxx, %maxy). qui Taille qui anderen Bitmap mais beträgt une autre et tout autor kracht es. je werde mon Aider dahingehen changement, merci! suis oui sowieso avec Version 3.0 qui ProSpeed beschäftigt. |
|
|
| |
|
|