| |
|
|
KHR | allô miteinander,
je cherche une Routine, avec qui sich berechnen läßt, si deux Farben pour unser Auge genug de l'un à l'autre abweichen, dire wir genug Farbkontrast avons um deutliche Abgrenzug trop ermöglichen.
comme Beispiel habe je ici une Democode, qui Rechtecke avec Zufallsfarben darstellt.
Meist céder cet Farben kräftig de l'un à l'autre ab. quelquefois vous êtes mais malheureusement très verwandt.
comment peux je cela im Programme-le bout erkennen, um z.B. qui Zufallsfarbe récente berechnen trop laisser?? KompilierenMarqueSéparation |
|
|
|
|
| Quelque chose comme?
Ähnlichkeit trop noir: KompilierenMarqueSéparation ou KompilierenMarqueSéparation comment unser Auge wird ici cependant pas beachtet là unsere Augen RGB pas linear erfassen mais durchschnittlich plutôt pour rouge+vert et jaune(=Rot+vert)+bleu et Helligkeit. (hierbei mais glaube je pas vordergründig)
Jedenfalls mais gibt cet Funktion pas aus, dass rouge et vert ou bien bleu et rouge juste sommes.
qui Ähnlichkeit trop weiss wäre gegeben, si qui Rückgabewert 1-x pris serait. |
|
|
| |
|
|
|
KHR | allô David
merci pour Votre Solution. je habs la fois dans qui Fahrräder reingebastelt. KompilierenMarqueSéparationFahrräder
by Karl-Heinz Rattay / 2009
einfach ausprobieren
Wems gefällt der kann ja einen screensaver draus machen!
Dieses Modul ist einfach so wie es ist. Wems nicht gefällt, der kann umstricken!!
declare r&, g&, b&, diff&, mix&, lastmix&
declare Zaehler&
proc zeichne
parameters c&,hpos%,vpos%, size%
usepen 0,(size%/5),c&
useBrush 0,c&
ellipse (hpos%-(Size%/1.5)),(vpos%-(Size%/1.5)) - (hpos%+(Size%/1.5)),(vpos%+(Size%/1.5))
ellipse ((hpos%+size%*2.0)-(Size%/1.5)),(vpos%-(Size%/1.5)) - ((hpos%+size%*2.0)+(Size%/1.5)),(vpos%+(Size%/1.5))
usepen 0,(size%/8),c&
moveto hpos%,vpos%
lineto (hpos%+(size%/6)),(vpos% - (Size%*1.05))
lineto (hpos%+(size%*1.7)) , (vpos% - (Size%*0.95) + (size%/6))
lineto (hpos%+(size%*1.1)) , vpos%
moveto (hpos%+(size%/4)),(vpos% - (Size%*1.3))
lineto (hpos%+(size%/6)),(vpos% - (Size%*1.3))
lineto (hpos%+(size%/6)),(vpos% - (Size%*1))
lineto (hpos%+(size%*1.1)) , vpos%
lineto (hpos%+(size%*2)) , vpos%
lineto (hpos%+(size%*1.7)) , (vpos% - (Size%*1) + (size%/6))
lineto (hpos%+(size%*1.7)) , (vpos% - (Size%*1) -(size%/7))
moveto (hpos%+(size%*1.7)-(size%/5)) , (vpos% - (Size%*1.1) -(size%/8))
lineto (hpos%+(size%*1.7)+(size%/5)) , (vpos% - (Size%*1.1) -(size%/8))
moveto (hpos%+(size%*1.1)) , (vpos%-(size%*0.3))
lineto (hpos%+(size%*1.1)) , (vpos%+(size%*0.3))
Endproc
proc FARBAEHNLICHKEIT
PARAMETERS FARBE1&,FARBE2&
RETURN (ABS(GETRVALUE(FARBE1&)-GETRVALUE(FARBE2&))+ABS(GETGVALUE(FARBE1&)-GETGVALUE(FARBE2&))+ABS(GETBVALUE(FARBE1&)-GETBVALUE(FARBE2&))) * 0.001307189542483660130718954248
endproc
cls
showmax
randomize
while 1
inc zaehler&
if zaehler& > 80
while 1
r&=Rnd(256)
g&=Rnd(256)
b&=Rnd(256)
mix&=@rgb(r&,g&,b&)
Case FARBAEHNLICHKEIT (lastmix&,mix&) :CONTINUE
lastmix&=mix&
BREAK
endwhile
zeichne @rgb(r&,g&,b&) ,
((%maxx*0.6) + @rnd(%maxx/4)) ,
(100+@rnd(@rnd(%maxy*0.85))) ,
(15+@rnd(40))
zaehler& = 1
endif
copyBmp 1,0 - %maxx,%maxy > 0,0;0
case @IsKey(27) : end ESC gedrückt
s4 href='./../../funktionsreferenzen/XProfan/endwhile/'>endwhile
je biete en supplément comme comparaison qui Solution aus dem Nachbarforum à. KompilierenMarqueSéparationFahrräder
by Karl-Heinz Rattay / 2009
simple ausprobieren
Wems comme qui peux oui une screensaver draus faire!
cet Modul ist simple so comment es est. Wems pas comme, qui peux umstricken!!
declare r&, g&, b&, diff&, mix&, lastmix&
declare Zaehler&
proc zeichne
parameters c&,hpos%,vpos%, size%
usepen 0,(size%/5),c&
useBrush 0,c&
ellipse (hpos%-(Size%/1.5)),(vpos%-(Size%/1.5)) - (hpos%+(Size%/1.5)),(vpos%+(Size%/1.5))
ellipse ((hpos%+size%*2.0)-(Size%/1.5)),(vpos%-(Size%/1.5)) - ((hpos%+size%*2.0)+(Size%/1.5)),(vpos%+(Size%/1.5))
usepen 0,(size%/8),c&
moveto hpos%,vpos%
lineto (hpos%+(size%/6)),(vpos% - (Size%*1.05))
lineto (hpos%+(size%*1.7)) , (vpos% - (Size%*0.95) + (size%/6))
lineto (hpos%+(size%*1.1)) , vpos%
moveto (hpos%+(size%/4)),(vpos% - (Size%*1.3))
lineto (hpos%+(size%/6)),(vpos% - (Size%*1.3))
lineto (hpos%+(size%/6)),(vpos% - (Size%*1))
lineto (hpos%+(size%*1.1)) , vpos%
lineto (hpos%+(size%*2)) , vpos%
lineto (hpos%+(size%*1.7)) , (vpos% - (Size%*1) + (size%/6))
lineto (hpos%+(size%*1.7)) , (vpos% - (Size%*1) -(size%/7))
moveto (hpos%+(size%*1.7)-(size%/5)) , (vpos% - (Size%*1.1) -(size%/8))
lineto (hpos%+(size%*1.7)+(size%/5)) , (vpos% - (Size%*1.1) -(size%/8))
moveto (hpos%+(size%*1.1)) , (vpos%-(size%*0.3))
lineto (hpos%+(size%*1.1)) , (vpos%+(size%*0.3))
ENDPROC
cls
showmax
randomize
tandis que 1
inc zaehler&
si zaehler& > 80
tandis que 1
r& = Tour(256)
g& = Tour(256)
b& = Tour(256)
mix& =(r&+g&+b&)/3
diff& = Abs(lastmix&-mix&)
Cas diff&<40 : CONTINUE
lastmix& = mix&
BREAK
endwhile
zeichne @rgb(r&,g&,b&) ,
((%maxx*0.6) + @rnd(%maxx/4)) ,
(100+@rnd(@rnd(%maxy*0.85))) ,
(15+@rnd(40))
zaehler& = 1
endif
copyBmp 1,0 - %maxx,%maxy > 0,0;0
cas @IsKey(27) : end ESC gedrückt
endwhile
peux quelqu'un Unterschiede dans qui Farbverteilung erkennen?
je crois déjà quelque chose erkannt trop avons, avec dem Ergebnis attends je mais - peut-être meldet sich oui aussi quelqu'un de Euch |
|
|
| Gruß Karl-Heinz WIN XP home/Pro / XPROFAN 11 / P2CPP ATMEL + BASCOM Fan | 14.03.2009 ▲ |
|
|
|
|
| qui Unterschied ist, dass qui Algo r+g+b farbenblind ist. un rotes Pixel ist après genauso wertig comment un Grünes, quoi ensuite mais rien plus trop 1faire hat avec si deux Farben pour unser Auge genug de l'un à l'autre abweichen. |
|
|
| |
|
|