Français
Forum

Erledigt: Farbunterschied ermitteln

 

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
declare farbe&, size&
cls
randomize
size& = 210

while 1

    whileloop (size&/10/2)

        farbe& = @rgb(@rnd(256),@rnd(256),@rnd(256))
        usebrush 1,farbe&
        UsePen 5,0,farbe&
        rectangle   (&loop*10),(&loop*10) - (size&-(&loop*10)),(size&-(&loop*10))

    endwhile

    waitinput 400
    cls

Gruß
Karl-Heinz
WIN XP home/Pro / XPROFAN 11 / P2CPP
ATMEL + BASCOM Fan
14.03.2009  
 



Quelque chose comme?

Ähnlichkeit trop noir:
KompilierenMarqueSéparation
ou
KompilierenMarqueSéparation
proc FARBAEHNLICHKEIT

    PARAMETERS FARBE1&,FARBE2&
    RETOUR (ABS(GETRVALUE(FARBE1&)-GETRVALUE(FARBE2&))+ABS(GETGVALUE(FARBE1&)-GETGVALUE(FARBE2&))+ABS(GETBVALUE(FARBE1&)-GETBVALUE(FARBE2&))) * 0.001307189542483660130718954248

endproc


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.
 
14.03.2009  
 




KHR
allô David

merci pour Votre Solution. je habs la fois dans qui Fahrräder reingebastelt.
KompilierenMarqueSéparation
Fahrrä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éparation
Fahrrä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.
 
14.03.2009  
 



répondre


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

3.896 Views

Untitledvor 0 min.
Torsten Boo29.07.2021
Michael W.03.07.2016
Julian Schmidt19.06.2013

Themeninformationen

cet Thema hat 2 participant:

iF (2x)
KHR (2x)


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