Español
Fuente/ Codesnippets

Bildbearbeitungsfilter Bitmaps

 

'Source wurde al 15.07.2007 de el MMJ-Quellcodesammlung (Dietmar Horn) en el Babyklappe en XProfan.Com abgelegt:
'Bitmaps: Bildbearbeitungsfilter
'Lauffähig de Profano-Versión 5.0
'+----------------------------------------------------------+
'| bild.prf                                                 |
'| Autor: Sebastian König                                   |
'| email: koenig.hil@t-online.de                            |
'| Homepage: https://www.sekoenig.mysite.de                  |
'| Einige Ejemplo a Bildbearbeitungsfiltern con Profano.   |
'| VORSICHT: Läuft en el Interpreter extremo langsam.           |
'+----------------------------------------------------------+
 $I filter.inc'----------------------------------------------------------------------------
'--Deklarationen
declarar f1%,f2%,f3%,f4%
declarar ende%
declarar datei$
'--Neues Ventana
windowstyle 24
window 0,0-%maxX,%maxY
windowtitle "Einige Beispiele para Bildbearbeitungsfilter"
'SetTrueColor 1   <--Ist mejor así
textcolor 0,-1
drawtext 0,0,"Bitte wählen..."
let f1%=@create("button",%hwnd,"Graustufen",100,100,200,30)
let f2%=@create("button",%hwnd,"Halbton",100,140,200,30)
let f3%=@create("button",%hwnd,"Weichzeichnen",100,180,200,30)
let f4%=@create("button",%hwnd,"Stark Weichzeichnen",100,220,200,30)
let ende%=1
chdir $WinPath

mientras que ende%

    waitinput

    if  @getfocus(f1%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")
        LoadBmp datei$,0,0;0
        graustufen 0,0,%BmpX,%BmpY
        @messagebox("Fertig!","Meldung",0)
        end

    elseif @getfocus(f2%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")' Expediente auswählen...
        LoadBmp datei$,0,0;0'...invitar...
        halbton 0,0,%BmpX,%BmpY'...y Filter anwenden
        @messagebox("Fertig!","Meldung",0)
        end

    elseif @getfocus(f3%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")
        LoadBmp datei$,0,0;0
        weichzeichnen 0,0,%BmpX,%BmpY
        @messagebox("Fertig!","Meldung",0)
        end

    elseif @getfocus(f4%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")
        LoadBmp datei$,0,0;0
        stark_weichzeichnen 0,0,%BmpX,%BmpY
        @messagebox("Fertig!","Meldung",0)
        end

    endif

wend

end

' $I filter.inc  Incluir Expediente con Filtern
'----------------------------------------------------------------------------
 $I profalt.inc

proc Graustufen

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar r%,g%,b%
    let x%=startx%
    let y%=starty%
    let endx%=@add(startx%,endx%)
    let endy%=@add(starty%,endy%)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let r%=@div&(@add(@add(@GetRValue(@GetPixel(X%, y%)),@GetGValue(\
            @GetPixel(X%, y%))),@GetBValue(@GetPixel(X%, y%))),3)
            let g%=r%
            let b%=g%
            SetPixel x%%,@RGB(r%,g%,b%)
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

proc Weichzeichnen

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar r%,g%,b%
    let x%=startx%
    let y%=starty%
    let endx%=@sub(@add(startx%,endx%),1)
    let endy%=@sub(@add(starty%,endy%),1)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let r%=@div&(@add(@add(@GetRValue(@getPixel(X%, y%)),@GetRValue(@getPixel(@add(x%,1),y%))),\
            @GetRValue(@getPixel(x%,@add(y%,1)))),3)
            let g%=@div&(@add(@add(@GetGValue(@getPixel(X%, y%)),@GetGValue(@getPixel(@add(x%,1),y%))),\
            @GetGValue(@getPixel(x%,@add(y%,1)))),3)
            let b%=@div&(@add(@add(@GetBValue(@getPixel(X%, y%)),@GetBValue(@getPixel(@add(x%,1),y%))),\
            @GetBValue(@getPixel(x%,@add(y%,1)))),3)
            SetPixel x%%,@RGB(r%,g%,b%)
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

proc Stark_Weichzeichnen

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar r%,g%,b%
    declarar value1%,value2%,value3%,value4%,value5%
    let x%=@add(startx%,1)
    let y%=@add(starty%,1)
    let endx%=@sub(@add(startx%,endx%),1)
    let endy%=@sub(@add(starty%,endy%),1)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let value1%=@getRValue(@GetPixel(X%, y%))
            let value2%=@getRValue(@GetPixel(@add(x%,1),y%))
            let value3%=@getRValue(@GetPixel(x%,@add(y%,1)))
            let value4%=@getRValue(@getPixel(@sub(x%,1),y%))
            let value5%=@getRValue(@getPixel(x%,@sub(y%,1)))
            let r%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
            let value1%=@getGValue(@GetPixel(X%, y%))
            let value2%=@getGValue(@GetPixel(@add(x%,1),y%))
            let value3%=@getGValue(@GetPixel(x%,@add(y%,1)))
            let value4%=@getGValue(@getPixel(@sub(x%,1),y%))
            let value5%=@getGValue(@getPixel(x%,@sub(y%,1)))
            let g%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
            let value1%=@getBValue(@GetPixel(X%, y%))
            let value2%=@getBValue(@GetPixel(@add(x%,1),y%))
            let value3%=@getBValue(@GetPixel(x%,@add(y%,1)))
            let value4%=@getBValue(@getPixel(@sub(x%,1),y%))
            let value5%=@getBValue(@getPixel(x%,@sub(y%,1)))
            let b%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
            SetPixel x%%,@RGB(r%,g%,b%)
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

proc Halbton

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar color%
    let x%=startx%
    let y%=starty%
    let endx%=@add(startx%,endx%)
    let endy%=@add(starty%,endy%)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let color%=@div&(@add(@add(@GetRValue(@GetPixel(X%, y%)),@GetGValue(\
            @GetPixel(X%, y%))),@GetBValue(@GetPixel(X%, y%))),3)
            caso @equ(color%,@div&(255,2)) : let color%=@RGB(255,255,255)
            caso @Lt(color%,@div&(255,2))  : let color%=@RGB(0,0,0)
            caso @Gt(color%,@div&(255,2))  : let color%=@RGB(255,255,255)
            SetPixel x%,y%,color%
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

 
15.07.2007  
 




Jörg
Sellmeyer
filter.inc y Hauptprogramm zusammengefasst.
Das wäre doch algo, si la Code después de ASM portiert sería...
'Source wurde al 15.07.2007 de el MMJ-Quellcodesammlung (Dietmar Horn) en el Babyklappe en XProfan.Com abgelegt:
'Bitmaps: Bildbearbeitungsfilter
'Lauffähig de Profano-Versión 5.0
'+----------------------------------------------------------+
'| bild.prf                                                 |
'| Autor: Sebastian König                                   |
'| email: koenig.hil@t-online.de                            |
'| Homepage: https://www.sekoenig.mysite.de                  |
'| Einige Ejemplo a Bildbearbeitungsfiltern con Profano.   |
'| VORSICHT: Läuft en el Interpreter extremo langsam.           |
'+----------------------------------------------------------+
' $I filter.inc  Incluir Expediente con Filtern
'----------------------------------------------------------------------------
 $I profalt.inc

proc Graustufen

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar r%,g%,b%
    let x%=startx%
    let y%=starty%
    let endx%=@add(startx%,endx%)
    let endy%=@add(starty%,endy%)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let r%=@div&(@add(@add(@GetRValue(@GetPixel(X%, y%)),@GetGValue(\
            @GetPixel(X%, y%))),@GetBValue(@GetPixel(X%, y%))),3)
            let g%=r%
            let b%=g%
            SetPixel x%%,@RGB(r%,g%,b%)
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

proc Weichzeichnen

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar r%,g%,b%
    let x%=startx%
    let y%=starty%
    let endx%=@sub(@add(startx%,endx%),1)
    let endy%=@sub(@add(starty%,endy%),1)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let r%=@div&(@add(@add(@GetRValue(@getPixel(X%, y%)),@GetRValue(@getPixel(@add(x%,1),y%))),\
            @GetRValue(@getPixel(x%,@add(y%,1)))),3)
            let g%=@div&(@add(@add(@GetGValue(@getPixel(X%, y%)),@GetGValue(@getPixel(@add(x%,1),y%))),\
            @GetGValue(@getPixel(x%,@add(y%,1)))),3)
            let b%=@div&(@add(@add(@GetBValue(@getPixel(X%, y%)),@GetBValue(@getPixel(@add(x%,1),y%))),\
            @GetBValue(@getPixel(x%,@add(y%,1)))),3)
            SetPixel x%%,@RGB(r%,g%,b%)
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

proc Stark_Weichzeichnen

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar r%,g%,b%
    declarar value1%,value2%,value3%,value4%,value5%
    let x%=@add(startx%,1)
    let y%=@add(starty%,1)
    let endx%=@sub(@add(startx%,endx%),1)
    let endy%=@sub(@add(starty%,endy%),1)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let value1%=@getRValue(@GetPixel(X%, y%))
            let value2%=@getRValue(@GetPixel(@add(x%,1),y%))
            let value3%=@getRValue(@GetPixel(x%,@add(y%,1)))
            let value4%=@getRValue(@getPixel(@sub(x%,1),y%))
            let value5%=@getRValue(@getPixel(x%,@sub(y%,1)))
            let r%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
            let value1%=@getGValue(@GetPixel(X%, y%))
            let value2%=@getGValue(@GetPixel(@add(x%,1),y%))
            let value3%=@getGValue(@GetPixel(x%,@add(y%,1)))
            let value4%=@getGValue(@getPixel(@sub(x%,1),y%))
            let value5%=@getGValue(@getPixel(x%,@sub(y%,1)))
            let g%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
            let value1%=@getBValue(@GetPixel(X%, y%))
            let value2%=@getBValue(@GetPixel(@add(x%,1),y%))
            let value3%=@getBValue(@GetPixel(x%,@add(y%,1)))
            let value4%=@getBValue(@getPixel(@sub(x%,1),y%))
            let value5%=@getBValue(@getPixel(x%,@sub(y%,1)))
            let b%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
            SetPixel x%%,@RGB(r%,g%,b%)
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

proc Halbton

    parámetros startx%,starty%,endx%,endy%
    declarar x%,y%
    declarar color%
    let x%=startx%
    let y%=starty%
    let endx%=@add(startx%,endx%)
    let endy%=@add(starty%,endy%)

    mientras que @Lt(y%,endy%)

        mientras que @Lt(x%,endx%)

            let color%=@div&(@add(@add(@GetRValue(@GetPixel(X%, y%)),@GetGValue(\
            @GetPixel(X%, y%))),@GetBValue(@GetPixel(X%, y%))),3)
            caso @equ(color%,@div&(255,2)) : let color%=@RGB(255,255,255)
            caso @Lt(color%,@div&(255,2))  : let color%=@RGB(0,0,0)
            caso @Gt(color%,@div&(255,2))  : let color%=@RGB(255,255,255)
            SetPixel x%,y%,color%
            inc x%

        wend

        let x%=startx%
        inc y%

    wend

ENDPROC

'Filter.inc Ende
'----------------------------------------------------------------------------
'--Deklarationen
declarar f1%,f2%,f3%,f4%
declarar ende%
declarar datei$
'--Neues Ventana
windowstyle 24
window 0,0-%maxX,%maxY
windowtitle "Einige Beispiele para Bildbearbeitungsfilter"
'SetTrueColor 1   <--Ist mejor así
textcolor 0,-1
drawtext 0,0,"Bitte wählen..."
let f1%=@create("button",%hwnd,"Graustufen",100,100,200,30)
let f2%=@create("button",%hwnd,"Halbton",100,140,200,30)
let f3%=@create("button",%hwnd,"Weichzeichnen",100,180,200,30)
let f4%=@create("button",%hwnd,"Stark Weichzeichnen",100,220,200,30)
let ende%=1
chdir $WinPath

mientras que ende%

    waitinput

    if  @getfocus(f1%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")
        LoadBmp datei$,0,0;0
        graustufen 0,0,%BmpX,%BmpY
        @messagebox("Fertig!","Meldung",0)
        end

    elseif @getfocus(f2%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")' Expediente auswählen...
        LoadBmp datei$,0,0;0'...invitar...
        halbton 0,0,%BmpX,%BmpY'...y Filter anwenden
        @messagebox("Fertig!","Meldung",0)
        end

    elseif @getfocus(f3%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")
        LoadBmp datei$,0,0;0
        weichzeichnen 0,0,%BmpX,%BmpY
        @messagebox("Fertig!","Meldung",0)
        end

    elseif @getfocus(f4%)

        @destroywindow(f1%)
        @destroywindow(f2%)
        @destroywindow(f3%)
        @destroywindow(f4%)
        let datei$=@LoadFile$("Datei abierto...","*.BMP")
        LoadBmp datei$,0,0;0
        stark_weichzeichnen 0,0,%BmpX,%BmpY
        @messagebox("Fertig!","Meldung",0)
        end

    endif

wend

end
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
23.06.2018  
 



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

3.603 Views

Untitledvor 0 min.
Stringray05.01.2022
Rolf Koch06.09.2020
Georg Teles26.08.2019
Pedro Miguel17.05.2019
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

Jörg Sellmeyer (1x)
unbekannt (1x)


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