| |
|
|
KHR | ¡Hola miteinander,
Yo búsqueda una Rutina, con el se berechnen läßt, si zwei Farben para unser Auge genug de einander abweichen, sagen wir genug Farbkontrast haben en deutliche Abgrenzug a ermöglichen.
Als Ejemplo Yo hier una Democode, el Rechtecke con Zufallsfarben darstellt.
Meist weichen esta Farben kräftig de einander de. Manchmal son ellos aber desafortunadamente muy verwandt.
¿Cómo se puede Yo el en el Programa-Ablauf erkennen, en z.B. el Zufallsfarbe neu berechnen que se?? KompilierenMarcaSeparación |
|
|
|
|
| Algo como?
Ähnlichkeit a schwarz: KompilierenMarcaSeparación o KompilierenMarcaSeparación Como unser Auge se hier sin embargo no beachtet como unsere Augen RGB no linear erfassen pero durchschnittlich más después de Rot+Grün y Gelb(=Rot+Grün)+Blau y Helligkeit. (hierbei aber glaube Yo no vordergründig)
Jedenfalls aber son esta Función no de, dass Rot y Grün oder Blau y Rot igual son.
El Ähnlichkeit a blanco wäre gegeben, si la Rückgabewert 1-x genommen sería. |
|
|
| |
|
|
|
KHR | ¡Hola David
danke para Su Solución. Yo habs veces en el Fahrräder reingebastelt. KompilierenMarcaSeparaciónFahrrä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
Yo biete dazu como Vergleich el Solución de el Nachbarforum a. KompilierenMarcaSeparaciónFahrräder
by Karl-Heinz Rattay / 2009
simplemente ausprobieren
Wems gefällt el kann sí una screensaver draus hacer!
Dieses Modul es simplemente así como lo es. Wems no gefällt, el kann umstricken!!
declarar r&, g&, b&, diff&, mix&, lastmix&
declarar Zaehler&
proc zeichne
parámetros 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
mientras que 1
inc zaehler&
if zaehler& > 80
mientras que 1
r& = Rnd(256)
g& = Rnd(256)
b& = Rnd(256)
mix& =(r&+g&+b&)/3
diff& = Abs(lastmix&-mix&)
Case 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
caso @IsKey(27) : end ESC gedrückt
endwhile
Kann alguien Unterschiede en el Farbverteilung erkennen?
Yo glaube ya algo erkannt a haben, con el Ergebnis warte Yo aber - tal vez meldet se en efecto alguien de Euch |
|
|
| Gruß Karl-Heinz WIN XP home/Pro / XPROFAN 11 / P2CPP ATMEL + BASCOM Fan | 14.03.2009 ▲ |
|
|
|
|
| Der Diferencia es, dass el Algo r+g+b farbenblind es. Ein rotes Pixel es danach genauso wertig como una Grünes, qué entonces aber nichts mehr a tun ha con si zwei Farben para unser Auge genug de einander abweichen. |
|
|
| |
|
|