Source/ Codesnippets | | | |  |
'Source wurde am 15.07.2007 aus qui MMJ-Quellcodesammlung (Dietmar Horn) dans qui Babyklappe sur XProfan.Com abgelegt:
'Bitmaps: Bildbearbeitungsfilter
'Lauffähig ab Profan-Version 5.0
'+----------------------------------------------------------+
'| bild.prf |
'| Autor: Sebastian König |
'| email: koenig.hil@t-online.de |
'| Page d'accueil: https://www.sekoenig.mysite.de |
'| quelques Beispiel trop Bildbearbeitungsfiltern avec Profan. |
'| VORSICHT: Läuft im Interpreter extrem lente. |
'+----------------------------------------------------------+
$I filtre.inc'----------------------------------------------------------------------------
'--Deklarationen
declare f1%,f2%,f3%,f4%
declare ende%
declare fichier$
'--Neues la fenêtre
style de fenêtre 24
window 0,0-%maxx,%maxY
windowtitle "Einige Beispiele pour Bildbearbeitungsfilter"
'SetTrueColor 1 <--Ist besser so
textcolor 0,-1
drawtext 0,0,"Bitte choisir..."
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
tandis que ende%
waitinput
si @getfocus(f1%)
@destroywindow(f1%)
@destroywindow(f2%)
@destroywindow(f3%)
@destroywindow(f4%)
let fichier$=@LoadFile$("Datei ouvrir...","*.BMP")
LoadBmp fichier$,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 fichier$=@LoadFile$("Datei ouvrir...","*.BMP")' Dossier auswählen...
LoadBmp fichier$,0,0;0'...magasin...
halbton 0,0,%BmpX,%BmpY'...et filtre anwenden
@messagebox("Fertig!","Meldung",0)
end
elseif @getfocus(f3%)
@destroywindow(f1%)
@destroywindow(f2%)
@destroywindow(f3%)
@destroywindow(f4%)
let fichier$=@LoadFile$("Datei ouvrir...","*.BMP")
LoadBmp fichier$,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 fichier$=@LoadFile$("Datei ouvrir...","*.BMP")
LoadBmp fichier$,0,0;0
stark_weichzeichnen 0,0,%BmpX,%BmpY
@messagebox("Fertig!","Meldung",0)
end
endif
Wend
end
' $I filtre.inc Include Dossier avec Filtern
'----------------------------------------------------------------------------
$I profalt.inc
proc Graustufen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
let x%=startx%
let y%=starty%
let endx%=@add(startx%,endx%)
let endy%=@add(starty%,endy%)
tandis que @Lt(y%,endy%)
tandis 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, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
proc Weichzeichnen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
let x%=startx%
let y%=starty%
let endx%=@sub(@add(startx%,endx%),1)
let endy%=@sub(@add(starty%,endy%),1)
tandis que @Lt(y%,endy%)
tandis 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, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
proc Stark_Weichzeichnen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
declare 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)
tandis que @Lt(y%,endy%)
tandis 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, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
proc Halbton
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare color%
let x%=startx%
let y%=starty%
let endx%=@add(startx%,endx%)
let endy%=@add(starty%,endy%)
tandis que @Lt(y%,endy%)
tandis que @Lt(x%,endx%)
let color%=@div&(@add(@add(@GetRValue(@GetPixel(% X, y%)),@GetGValue(\
@GetPixel(% X, y%))),@GetBValue(@GetPixel(% X, y%))),3)
cas @equ(color%,@div&(255,2)) : let color%=@RGB(255,255,255)
cas @Lt(color%,@div&(255,2)) : let color%=@RGB(0,0,0)
cas @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
|
| | | | |
| |  Jörg Sellmeyer | filtre.inc et Hauptprogramm zusammengefasst. cela wäre doch la fois quoi, si qui Code pour ASM portiert serait...
'Source wurde am 15.07.2007 aus qui MMJ-Quellcodesammlung (Dietmar Horn) dans qui Babyklappe sur XProfan.Com abgelegt:
'Bitmaps: Bildbearbeitungsfilter
'Lauffähig ab Profan-Version 5.0
'+----------------------------------------------------------+
'| bild.prf |
'| Autor: Sebastian König |
'| email: koenig.hil@t-online.de |
'| Page d'accueil: https://www.sekoenig.mysite.de |
'| quelques Beispiel trop Bildbearbeitungsfiltern avec Profan. |
'| VORSICHT: Läuft im Interpreter extrem lente. |
'+----------------------------------------------------------+
' $I filtre.inc Include Dossier avec Filtern
'----------------------------------------------------------------------------
$I profalt.inc
proc Graustufen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
let x%=startx%
let y%=starty%
let endx%=@add(startx%,endx%)
let endy%=@add(starty%,endy%)
tandis que @Lt(y%,endy%)
tandis 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, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
proc Weichzeichnen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
let x%=startx%
let y%=starty%
let endx%=@sub(@add(startx%,endx%),1)
let endy%=@sub(@add(starty%,endy%),1)
tandis que @Lt(y%,endy%)
tandis 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, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
proc Stark_Weichzeichnen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
declare 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)
tandis que @Lt(y%,endy%)
tandis 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, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
proc Halbton
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare color%
let x%=startx%
let y%=starty%
let endx%=@add(startx%,endx%)
let endy%=@add(starty%,endy%)
tandis que @Lt(y%,endy%)
tandis que @Lt(x%,endx%)
let color%=@div&(@add(@add(@GetRValue(@GetPixel(% X, y%)),@GetGValue(\
@GetPixel(% X, y%))),@GetBValue(@GetPixel(% X, y%))),3)
cas @equ(color%,@div&(255,2)) : let color%=@RGB(255,255,255)
cas @Lt(color%,@div&(255,2)) : let color%=@RGB(0,0,0)
cas @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
'filtre.inc Ende
'----------------------------------------------------------------------------
'--Deklarationen
declare f1%,f2%,f3%,f4%
declare ende%
declare fichier$
'--Neues la fenêtre
style de fenêtre 24
window 0,0-%maxx,%maxY
windowtitle "Einige Beispiele pour Bildbearbeitungsfilter"
'SetTrueColor 1 <--Ist besser so
textcolor 0,-1
drawtext 0,0,"Bitte choisir..."
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
tandis que ende%
waitinput
si @getfocus(f1%)
@destroywindow(f1%)
@destroywindow(f2%)
@destroywindow(f3%)
@destroywindow(f4%)
let fichier$=@LoadFile$("Datei ouvrir...","*.BMP")
LoadBmp fichier$,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 fichier$=@LoadFile$("Datei ouvrir...","*.BMP")' Dossier auswählen...
LoadBmp fichier$,0,0;0'...magasin...
halbton 0,0,%BmpX,%BmpY'...et filtre anwenden
@messagebox("Fertig!","Meldung",0)
end
elseif @getfocus(f3%)
@destroywindow(f1%)
@destroywindow(f2%)
@destroywindow(f3%)
@destroywindow(f4%)
let fichier$=@LoadFile$("Datei ouvrir...","*.BMP")
LoadBmp fichier$,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 fichier$=@LoadFile$("Datei ouvrir...","*.BMP")
LoadBmp fichier$,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 QuelltextOptions du sujet | 3.602 Views |
Themeninformationencet Thema hat 2 participant: |