Français
Source/ Codesnippets

Bildmanipulation temps réel filtre Spielerei

 
iF, Beitrag=54696, Zeitpunkt=30.10.2009
temps réel-Bildmanipulation Spielerei...


Télécharger


KompilierenMarqueSéparation
 $I compatible.inc
cls
long hpic=create("hnewPic",256,256,0)
startPaint hPic
useFont "Arial",26,0,0,0,0
textcolor $FFFFFF,0
drawText 10,10,"Hallo Welt"
endPaint
drawPic hPic,0,0;0

while 1

    filterTest(hPic,%bmpx,%bmpy)
    drawSizedPic hPic,0,0 - width(%hWnd),height(%hWnd);0
    startPaint hPic
    useFont "Arial",26,0,0,0,0
    textcolor $FFFFFF,-1
    drawText sin(getTickCount*0.001)*75+75,sin(getTickCount*0.00077777)*110+110,"Hallo Welt"
    textcolor $0000FF,-1
    drawText -sin(getTickCount*0.001)*75+75,sin(getTickCount*0.00088887)*110+110,"Hallo Welt"
    textcolor $FF0000,-1
    drawText -sin(getTickCount*0.0013)*75+75,-sin(getTickCount*0.00088887)*110+110,"Hallo Welt"
    textcolor $00FF00,-1
    drawText sin(getTickCount*0.0023)*75+75,-sin(getTickCount*0.00022222)*110+110,"Hallo Welt"
    endpaint
    waitinput 10

wend

//mcopysizedbmp 0,0 - 767,255 > 0,0 - width(hWnd),height(hWnd);0
waitinput
end

nProc filterTest

    Parameters h&,_width&,_height&
    var a&=GetPixels(h&,_width&,_height&)
    filter.dith(a&,_width&,_height&)
    filter.blur(a&,_width&,_height&)
    SetPixels(h&,a&,_width&,_height&)
    dispose(a&)

endproc

nProc filter.dith

    parameters a&,_width&,_height&
    var x&=0
    var y&=0
    var c&=0
    var p&=0
    var ww4&=_width&*4

    whileLoop _height&-1,0

        y&=&loop*ww4&

        whileLoop 0,ww4&-4,4

            p&=y&+&loop
            c&=long(a&,p&)

            ifnot rnd(10)

                c&=rgb.mix(c&,rnd($FFFFFF))

            endif

            long a&,p&=c&

        wend

    wend

endproc

nProc filter.blur

    parameters a&,_width&,_height&
    var x&=0
    var y&=0
    var c&=0
    var c2&=0
    var p&=0
    var p1&=0
    var p2&=0
    var p3&=0
    var p4&=0
    var p6&=0
    var p7&=0
    var p8&=0
    var p9&=0
    var r&=0
    var g&=0
    var b&=0
    var ww4&=_width&*4

    whileLoop _height&-1,0

        y&=&loop*ww4&

        whileLoop 0,ww4&-4,4

            p&=y&+&loop
            c&=long(a&,p&)
            c&=rgb.mix(rgb.mix(rgb.mix(rgb.mix(long(a&,p&-4),long(a&,p&+4)),long(a&,p&)),long(a&,p&-ww4&)),long(a&,p&+ww4&))
            p1&=long(a&,p&+ww4&-4)
            p2&=long(a&,p&+ww4&+4)
            p3&=long(a&,p&+ww4&)
            p4&=long(a&,p&-4)
            p6&=long(a&,p&+4)
            p7&=long(a&,p&-ww4&-4)
            p8&=long(a&,p&-ww4&+4)
            p9&=long(a&,p&-ww4&)
            r&=getRValue(p1&)+getRValue(p2&)+getRValue(p3&)+getRValue(p4&)+getRValue(c&)+getRValue(p6&)+getRValue(p7&)+getRValue(p8&)+getRValue(p9&)
            g&=getGValue(p1&)+getGValue(p2&)+getGValue(p3&)+getGValue(p4&)+getGValue(c&)+getGValue(p6&)+getGValue(p7&)+getGValue(p8&)+getGValue(p9&)
            b&=getBValue(p1&)+getBValue(p2&)+getBValue(p3&)+getBValue(p4&)+getBValue(c&)+getBValue(p6&)+getBValue(p7&)+getBValue(p8&)+getBValue(p9&)
            div r&,9
            div g&,9
            div b&,9
            long a&,p&=bgr(r&,g&,b&)

        wend

    wend

endproc

nproc rgb.mix

    parameters c1&,c2&
    var r&=getRValue(c1&)+getRValue(c2&)
    div r&,2
    var g&=getGValue(c1&)+getGValue(c2&)
    div g&,2
    var b&=getBValue(c1&)+getBValue(c2&)
    div b&,2
    return a>(r&,g&,b&)

endproc


Nachtrag: Speicherleck gefixt.

Siehe aussi: Pixels.Inc [...] 
 
31.10.2009  
 



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

2.918 Views

Untitledvor 0 min.
H.Brill10.02.2022
Frank16.04.2021
Seanser25.05.2019
p.specht06.07.2018
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (1x)


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