Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Hur man beräknar Färggradient

    Färg modeller är metoder för att numeriskt kartlägga färgspektrat . Modellerna består oftast av tre eller fyra komponentvärden , såsom de röda , gröna och blå komponenterna i RGB-modellen . För tydlighetens skull skapa en känsla av djup eller andra grafiska effekter , är det ofta önskvärt att använda modellerna för att skapa gradienter , vilka är mjuka övergångar mellan en färg och en annan . Skapa övertoningar är en fråga om matematiskt interpolera mellan komponenterna färgmodell . De lutning beräkningarna kan vara så enkelt eller komplicerat som du vill . Instruktioner
    1

    Definiera ett par koordinater motsvarar början och slut av gradienten . För en linjär gradient , samordnar de även ange lutning riktning , så i praktiken fungerar de som huvud och svans av en vektor , som är en riktad kvantitet . För en radiell gradient motsvarar vektorns svans till centrum , och vektorns magnitud motsvarar radien . Till exempel , om du vill ha en diagonal lutning för att fylla en kvadrat vars övre vänstra koordinat är ( 0 , 0 ) , och den nedre högra är ( 100 , 100 ) , definierar de samma koordinater som huvud och svans av vektorn . Varje linje vinkelrät mot vektorn mellan svansen och huvudet kommer att gradvis förändra från start färg vid ( 0 , 0 ) till den slutliga färgen på ( 100 , 100 ) .
    2

    Beräkna storleken på den gradientvektorn med ekvationen M = sqrt ( ( x2 - x1 ) ² + ( y2 - y1 ) ² ) , där ( x1 , y1 ) och ( x2 , y2 ) är koordinaterna för svansen och huvudet resp . Till exempel , M = sqrt ( (100 - 0) + (100 - 0) ² ) = 141,4
    3

    Beräkna avståndet till gradientvektorn svans för varje punkt i . området. För en radiell vektor , är ekvationen D = sqrt ( (x - x1 ) ² + (y - y1 ) ² ) , där (x , y) är punktens koordinatpar . För linjära gradienter , är avståndet inte till svansen själv utan till den linje som passerar genom svansen vinkelrätt mot vektorn. Ekvationen är D = ( x * ( x2 - x1 ) - x1 * x2 + x1 ² + y * ( y2 - y1 ) - y1 * y2 + y1 ² ) /M. Ställ alla avstånd mindre än 0 till 0 , och ange något avstånd större än storleken på storleken . Till exempel är avståndet mellan den punkt ( 20 , 30 ) D = ( 20 * 100 + 30 * 100 ) /141,1 = 35,4 . Alla punkter på linjen passerar vinkelrätt genom den punkten har samma avstånd .
    4

    Beräkna punktens avstånd till magnitud förhållande med ekvationen R = D /M. Till exempel är förhållandet för punkten ( 20 , 30 ) R = 35.4/141.4 = 0.25
    5

    Hitta alla färgkomponenterna för punkten med formeln Cp = R ( C2 . - C1 ) + C1 , där C1 och C2 är motsvarande komponenter i den första och sista färgen i övertoningen . Denna formel fungerar för någon färgmodell , men när man arbetar med cykliska komponenter, såsom den nyans av HSL -modellen ( Hue Saturation Lightness modell ) , bruksvärden för C1 och C2 så att C2 minus C1 är mindre än hälften av komponentens sortiment .

    till exempel, om din lutning inledande och avslutande HSL färger ( 10 , 93 , 33 ) och ( 355 , 28 , 60 ) , skillnaden C2 minus C1 för nyans är 355-10 = 345 , vilket är mer än hälften av HRT : s utbud av 360 grader , så precis som att arbeta med vinklarna i en cirkel , tillsätt 360 grader för att hitta en motsvarande vinkel . Låt C1 = 360 + 10 = 370 . Därför nyans komponenten är Cp = 0,25 * ( 355-370 ) + 370 = 366,3 . Det är utanför intervallet , så subtrahera 360 till ett värde av 6,3 . De andra HRT -komponenter är inte cyklisk , så beräkningarna är enklare . För mättnad , Cp = 0,25 * ( 28-93 ) + 93 = 76,8 , och för lätthet , Cp = 0,25 * (60 - 33) + 33 = 40,0 . Avrunda alla beräkningar för en slutlig HSL färg ( 6 , 77 , 40 ) .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du sätter en sträng till en variabel
    ·HTML Mailto Tutorial
    ·Avinstallera Prevention Host Intrusion
    ·Hur konvertera Hex till Decimal i MIPS
    ·Vilka är nackdelarna med en Query Processor
    ·Konvertera COBOL häfte till RPG häfte
    ·Hur man gör en Rollover eller Mouseover
    ·Hur man läser MATLAB
    ·Om en binär till Hex filkonvertering
    ·Ta bort en rad från DataGridView Använda Bind DataSou…
    Utvalda artiklarna
    ·Lägga till SSL Cert till IIS
    ·Tutorial på Java Logging API
    ·Hur man gör en DotNetBar Tema för MessageBox
    ·Silverlight Sockets Tutorial
    ·Hur man gör ett torg i QuickBasic
    ·Hur man gör ett formulär passa alla storlekar skärme…
    ·Hur man använder SetDIBits i VB.NET
    ·Hur man använder Autofilter i VBA
    ·Hur man installerar Facebook JavaScript SDK
    ·Hur man tar bort en text i Python
    Copyright © Dator Kunskap http://www.dator.xyz