Talaan ng mga Nilalaman:

Kagiliw-giliw na Patnubay sa Programming Programing para sa taga-disenyo - Pagkontrol sa Kulay: 10 Hakbang
Kagiliw-giliw na Patnubay sa Programming Programing para sa taga-disenyo - Pagkontrol sa Kulay: 10 Hakbang

Video: Kagiliw-giliw na Patnubay sa Programming Programing para sa taga-disenyo - Pagkontrol sa Kulay: 10 Hakbang

Video: Kagiliw-giliw na Patnubay sa Programming Programing para sa taga-disenyo - Pagkontrol sa Kulay: 10 Hakbang
Video: Let's Chop It Up (Episode 27) - Saturday April 17, 2021 2024, Hulyo
Anonim
Kagiliw-giliw na Patnubay sa Programming Programing para sa Disenyo - Pagkontrol sa Kulay
Kagiliw-giliw na Patnubay sa Programming Programing para sa Disenyo - Pagkontrol sa Kulay

Sa mga nakaraang kabanata, napag-usapan pa namin ang tungkol sa kung paano gamitin ang code upang gawin ang paghuhubog sa halip na mga puntos ng kaalaman tungkol sa kulay. Sa kabanatang ito, susuriin natin nang mas malalim ang aspetong ito ng kaalaman.

Hakbang 1: Pangunahing Kaalaman Tungkol sa Kulay

Ang kulay, sa ilang aspeto, ay nalampasan ang intuwisyon ng tao. Ang iba't ibang mga magagandang kulay na nakita namin ng aming mga hubad na mata ay talagang binubuo ng parehong mga bahagi. Sa pamamagitan lamang ng tatlong mga ilaw na kulay ng pula, berde at asul, makakalikha kami ng lahat ng mga kulay na makikita ng mga mata ng tao sa pamamagitan ng paghahalo.

Ang mga mobile screen at screen ng computer na kasalukuyang nakikita mo ay nilikha sa batayan ng prinsipyong ito. Ang pula, berde at asul ay tinatawag na tatlong orihinal na mga kulay ng ilaw. Sa pamamagitan ng ratio ng tatlong elemento, masisiguro natin ang isang tiyak na kulay. Ang pamamaraang ito ng paglalarawan ay tinatawag ding RGB mode. Kabilang dito, pula ang R, berde ay G at asul ang B.

Maliban sa RGB mode, may isa pang mode na tinatawag na CMYK mode. Karaniwan itong pinagsasama sa pag-print. Sa pagpi-print, mayroong tatlong orihinal na mga kulay din. Gayunpaman, naiiba ito sa tatlong orihinal na mga kulay ng ilaw. Ang mga ito ay pula, dilaw at asul nang magkahiwalay. Kabilang dito, ang C ay para sa cyan, ang M ay para sa magenta, at ang Y ay para sa dilaw. Sa teoretikal, sa pamamagitan lamang ng CMY, maaari nating ihalo ang karamihan sa mga kulay. Ngunit dahil sa pamamaraan ng produksyon ng hilaw na materyal, hindi namin maisasagawa ang saturation ng CMY na makamit ang 100%. Kung ihahalo natin ang tatlong kulay na ito, hindi kami makakakuha ng itim na kulay na sapat na madilim. Kaya't mayroong dagdag na K, na para sa itim na pag-print ng tinta, bilang suplemento ng pag-print.

Tulad ng para sa RGB at CMYK, malalaman mo lamang na mayroong isang halatang pagkakaiba sa likas na katangian. Ang RGB ay kasama ang mode ng kulay, na nagdaragdag ng liwanag sa pamamagitan ng paghahalo ng maraming mga kulay. Habang ang CMYK ay minus na color mode, na nagdaragdag ng kadiliman sa pamamagitan ng paghahalo ng maraming mga kulay. Sa larawan sa ibaba, maaari naming makita ang mga pagkakapareho at pagkakaiba ng dalawang mga mode. Ang kaliwang larawan, naiisip nating maging isang madilim na bahay na may tatlong magkakaibang kulay ng mga flashlight. Larawan sa kanan, maaari naming isaalang-alang ito bilang isang watercolor paper pagkatapos ng overlap na may tatlong mga kulay na pula, berde at asul.

Kung nais mong malaman ang kamag-anak nitong relatioship sa pagitan ng iba't ibang mga mode ng kulay nang mas malalim, maaari mong buksan ang iyong photoshop at piliin ang tagapili ng kulay. Pagkatapos ay maaari mong makita ang mga halaga ng kulay ng isang parehong kulay sa ilalim ng iba't ibang mga mode ng kulay nang intuitive.

Sa huling, nais naming ipakilala ang isa pang karaniwang mode ng kulay para sa iyo, HSB. Ang HSB ay walang konsepto ng "Orihinal na Kulay". Ito ay naiuri ayon sa mga damdamin ng mga mata ng tao para sa mga kulay. Ang H ay nangangahulugang kulay, S para sa saturation, at ang B ay para sa ningning.

Ang kulay ay kumakatawan sa pagkahilig ng kulay. Ang bawat kulay ay may isang tiyak na uri ng pagkahilig sa kulay lamang kung ito ay hindi balck, puti o kulay-abo. Ang pinakapayaman na lugar ng paglipat ng kulay sa tagapili ng kulay ay ginagamit upang ipahiwatig ang kulay. Ang halaga nito sa PS ay mula sa 0 hanggang 360.

Ang saturation ay nangangahulugang ang kadalisayan ng kulay. Ang mas mataas na kadalisayan ay nagdudulot ng mas matingkad na kulay. Ang halaga nito sa PS ay mula sa 0 hanggang 100.

Ang liwanag ay nangangahulugang ang gaanong antas ng kulay, mula 0 hanggang 100.

Kung ikukumpara sa RGB mode, ang tatlong sukat ng HSB ay higit na naaayon sa pakiramdam ng mga mata ng tao para sa mga kulay. Tingnan lamang ang mga halagang HSB lamang, maaari mong pangkalahatang maisip kung anong uri ng kulay ito.

Tulad ng sa parehong kulay, ang halaga ng kulay sa RGB mode ay (255, 153, 71), habang sa HSB ay (27, 72, 100).

Mahirap hatulan kung ano ang magiging hitsura pagkatapos ihalo ang tatlong orihinal na mga kulay nang magkasama kung RGB lamang ang titingnan natin. Ngunit iba ang HSB. Kailangan mo lamang maging pamilyar sa mga kulay ng mga kulay tulad ng pula ay 0, ang kahel ay 30 at ang dilaw ay 60, pagkatapos ay malalaman mong ito ay isang medyo puspos na kulay kahel na may mataas na ningning at medyo malapit sa pula kapag ang H ay 27.

Susunod, isasabay namin ang tatlong sukat ng dalawang mga mode sa x, y, x sa espasyo at iguhit ang isang kulay kubiko upang gawin ang paghahambing.

Ang RGB at HSB ay magkakaibang pamamaraan lamang upang ilarawan ang mga kulay. Maaari naming kunin ang address bilang isang talinghaga. Ipagpalagay kung nais mong sabihin sa ibang tao ang posisyon ng Imperial palace, maaari mong sabihin na ito ay nasa No. 4 ng Jingshan Front Street, Dongcheng Area, Beijing. O maaari mong sabihin na ito ay nasa 15 segundo, 55 minuto, 39 degree sa Hilagang latitude at 26 segundo, 23 minuto, 116 degree sa East longitude. Ang pamamaraan ng paglalarawan ng HSB ay katulad ng dati. Kung pamilyar ka sa lugar ng kamag-anak, maaari mong pangkalahatang malaman ang posisyon ng address. Habang ang RGB ay maaaring maging mas tumpak, ngunit ito ay napaka abstract.

Ang HSB mode ay umiiral na may mga layunin na tulungan kaming ilarawan ang kulay nang mas maginhawa. Upang maipakita ang isang tiyak na uri ng kulay sa screen, finnally na muna namin itong i-convert sa RGB mode.

Sa itaas, ipinakikilala namin ang tatlong mga mode ng kulay: RGB, HSB, CMYK. Sa programa, mag-focus ka lang sa dalawang mga mode: RGB at HSB. Mayroon silang sariling mga kalamangan at kanilang sariling mga aplikasyon nang sabay. Kung pamilyar ka rito, masisiyahan nito ang iyong pinaka-kinakailangan na pagdidisenyo.

Hakbang 2: Uri ng Data para sa Pag-iimbak ng Mga Kulay

Upang maipakita ang mga kulay sa programa, karamihan ay gumagamit kami ng RGB mode bago. Gayunpaman, sa pamamagitan lamang ng pagkontrol sa tatlong mga pag-aari, maaari ba tayong magpakita ng anumang mga kulay? Sa computer, ganito ito.

Naitala namin dati iyon sa Pagproseso, maliban sa R, G, B, maaari tayong magtalaga ng isang alpha (transparency) para sa mga kulay. Ngunit ang alpha ay hindi kabilang sa bahagi ng kulay. Ang paggalaw nito ay upang maginhawa ang halo na may mga kulay sa likod. Samakatuwid, para sa mga computer na ilalarawan ang isang tiyak na uri ng kulay nang tumpak, kailangan nating i-contol lamang ang susi ng tatlong mga variable lamang.

Sa mga sumusunod, nagsisimula kaming magpakilala ng isang uri ng uri ng data na Kulay, na pangunahing ginagamit para sa pagtatago ng mga kulay. Ito ay katulad ng dati nang na-refer na mga uri ng data tulad ng boolena, int, float.

Dito, hayaan mong panatilihin ko muna sa pagpapaliwanag ng aktwal na paggamit ng kulay muna. Pag-isipan ito: ipagpalagay kung magagamit lamang natin ang dating pinagkadalubhasaan na mga pamamaraan upang mag-imbak ng isang tiyak na data, ano ang dapat nating gawin?

Halimbawa ng Code (9-1):

[cceN_cpp tema = "bukang-liwayway"] int r, g, b;

walang bisa ang pag-setup () {

laki (400, 400);

r = 255;

g = 0;

b = 0;

}

walang bisa draw () {

background (0);

rectMode (CENTER);

punan (r, g, b);

tuwid (lapad / 2, taas / 2, 100, 100);

}

[/cceN_cpp]

Tulad ng para sa mga kulay na may pagkahilig sa kulay, kailangan naming lumikha ng tatlong mga variable upang mag-imbak ng data sa tatlong mga channel ng kulay ng pula, berde at asul ayon sa pagkakabanggit. Sa paglaon, kung nais naming gamitin ang hanay ng data ng kulay na ito, kailangan naming isulat ito sa pagpuno o stroke.

Ngunit mahahanap mong masyadong mahirap gawin ito sapagkat ang mga data ay magkakaugnay. Kung mayroon kang ideya na i-pack ang mga ito sa paggamit, magiging mas maginhawa. Samakatuwid, nilikha ang kulay.

Halimbawa ng Code (9-2):

[cceN_cpp tema = "bukang-liwayway"] kulayan ang myColor;

walang bisa ang pag-setup () {

laki (400, 400);

myColor = kulay (255, 0, 0);

}

walang bisa draw () {

background (0);

rectMode (CENTER);

punan (myColor);

tuwid (lapad / 2, taas / 2, 100, 100);

} [/cceN_cpp]

Parehas sa mga uri ng data tulad ng int, kailangan naming gumamit ng "color myColor" sa simula upang lumikha ng mga variable.

Sa pag-set up, ginagamit namin ang "myColor = color (255, 0, 0)" upang magtalaga ng halaga sa variable myColor. Habang ang kulay ng pag-andar (a, b, c) ay wastong kumakatawan na ang hanay ng data na ito ay nabuo isang uri ng kulay upang ma-import ang variable na myColor. Kung sumulat ka ng "myColor = (255, 0, 0)", magkakamali ang programa.

Sa huling, ginagamit namin ang punan () upang mapagtanto ang pagpapatakbo ng color padding. Ang pagpuno ng pag-andar () at stroke () ay parehong nag-o-overlap. Ayon sa dami at uri ng mga parameter, magkakaroon ito ng magkakaibang epekto. Ang pag-import lamang ng isang integer variable, na kumakatawan dito ay isang kulay na may grayscale lamang. Habang nag-i-import ng isang variable na kulay, nangangahulugan ito na ang saklaw ng kulay ay magiging mas malaki. Maaari ka ring mag-import ng isang variable ng kulay at isang variable na integer, baguhin ang punan ng pag-andar () sa itaas sa punan (myColor, 150), pagkatapos ay makontrol mo ang alpha sa pangalawang parameter.

Hakbang 3: Nag-o-overlap na Paraan ng Punan

stroke, background ay may parehong overlap na pamamaraan na may punan.

Basahin ang Halaga ng Kulay ng Channel

Bilang karagdagan sa mga takdang-aralin, maaari mo ring malaya na makuha ang halaga ng RGB sa variable ng kulay

Halimbawa ng Code (9-3):

[cceN_cpp tema = "bukang-liwayway"] kulayan ang myColor;

walang bisa ang pag-setup () {

myColor = kulay (255, 125, 0);

println (pula (myColor));

println (berde (myColor));

println (asul (myColor));

}

[/cceN_cpp]

Resulta sa console: 255, 125, 0.

Ang pagpapaandar na pula (), berde (), asul () ay medyo babalik sa halaga ng pula, berde at asul na channel sa myColor.

Hexadecimal Assignment

Maliban sa paggamit ng mga decimal number upang maipakita ang RGB, maaari din tayong gumamit ng hexadecimal. Ang ibig sabihin ng Décimal ay pagdaragdag ng 1 kapag nakakatugon sa 10. Habang ang hexadecimal ay nangangahulugang pagdaragdag ng 1 kapag nakakatugon sa 16. Ang kaugnayang ugnayan nito sa decimal ay: "0 hanggang 9" ay tumutugma sa "0 hanggang 9 "," A to F "ay tumutugma sa" 10 hanggang 15 ".

Ang larawan sa ibaba ay ang paglalarawan ng pamamaraan ng pag-convert.

Siyempre, kung nakakakuha kami ng isang hanay ng mga hexadecimal na halaga tulad ng ff7800, hindi namin ito kailangang i-convert sa pamamagitan ng manu-manong. Ang programa ay magtatalaga ng mga halaga sa mga variable ng kulay nang direkta. Napakadali.

Maaari naming makita ang maraming mga kard ng kulay sa online ay pawang gumagamit ng hexadecimal na pamamaraan upang maipakita ang kulay.

Tulad ng dribbble ng komunidad sa disenyo, ang mga likhang sining ay mai-kalakip na mga color palette. Kung nakakita ka ng isang paboritong pangkulay, maaari mo itong ilapat sa programa.

Halimbawa ng Code (9-4):

[cceN_cpp tema = "bukang-liwayway"] kulay pabalikKulay, kulayA, kulayB, kulayC;

walang bisa ang pag-setup () {

laki (400, 400);

rectMode (CENTER);

noStroke ();

backColor = # 395b71;

kulayA = # c4d7fb;

kulayB = # f4a7b4;

colorC = # f9e5f0;

}

walang bisa draw () {

background (backColor);

punan (kulayA);

tuwid (200, 200, 90, 300);

punan (kulayB);

tuwid (100, 200, 90, 300);

punan (kulayC);

tuwid (300, 200, 90, 300);

} [/cceN_cpp]

Ngayon, ang kulay ay mas komportable na may mas mahusay na epekto kaysa sa pag-input ng mga halaga nang sapalaran.

Idagdag ang "#" bago ang hexadecimal na halaga ng kulay, pagkatapos ay maaari kang magtalaga ng halaga sa variable na kulay nang direkta.

Hakbang 4: HSB Mode

Bukod sa RGB mode, susunod ay pag-uusapan natin ang tungkol sa HSB mode. Ipinapakita ng sumusunod ang pamamaraan ng pagtatalaga ng halaga ng HSB mode.

Halimbawa ng Code (9-5):

[cceN_cpp tema = "bukang-liwayway"] walang bisa na pag-set up () {

laki (400, 400);

colorMode (HSB);

}

walang bisa draw () {

background (0);

rectMode (CENTER);

para sa (int i = 0; i <20; i ++) {

kulay col = kulay (i / 20.0 * 255, 255, 255);

punan (col);

tuwid (i * 20 + 10, taas / 2, 10, 300);

}

} [/cceN_cpp]

Sa Pagproseso, upang mapalitan ang mode ng HSB, kailangan lamang namin magdagdag ng isang pangungusap ng colorMode (HSB). Ang paggamit ng function na colorMode () ay upang ilipat ang color mode. Kung nagsusulat kami ng "HSB" sa bracket, pagkatapos ay itatakda ito sa mode na HSB; habang nagsusulat kami ng "RGB", ililipat ito sa RGB mode.

Ano ang karapat-dapat bigyang pansin ay kapag nagsusulat kami ng colorMode (HSB), ang na-default na maximum na halaga ng HSB ay 255. Ito ay lubos na naiiba sa maximum na halaga sa Photoshop. Sa Photoshop, ang pinakamataas na halaga ng H ay 360, ang maximum na halaga ng S at B ay 100. Kaya kailangan nating gawin ang pag-convert.

Kung ang halaga ng HSB sa Photoshop ay (55, 100, 100), kapag na-convert sa Pagproseso, ang halagang ito ay dapat na (55/360 × 255, 255, 255), ibig sabihin (40, 255, 255).

Ang colorMode () ay isang pagpapaandar na maaaring ma-overlap. Sa mga sumusunod, ipakilala namin ito sa iyo nang detalyado.

Hakbang 5: Nag-o-overlap na Paraan ng ColorMode

Samakatuwid, kung hindi mo nais na baguhin ang halaga ng HSB sa Photoshop nang manu-mano, maaari mong isulat ang "colorMode ()" sa "colorMode (HSB, 360, 100, 100)".

Kaso ng Application ng HSB Mode 1

Dahil ang RGB mode ay hindi masyadong maginhawa upang makontrol ang mga pagbabago ng kulay, sa oras na ito, kung nais mong kontrolin ang mga kulay nang mas nababaluktot, maaari mong isaalang-alang ang HSB mode.

Halimbawa ng Code (9-6):

[cceN_cpp tema = "bukang-liwayway"] walang bisa ang pag-set up () {

laki (800, 800);

background (0);

colorMode (HSB);

}

walang bisa draw () {

strokeWeight (2);

stroke (int (millis () / 1000.0 * 10)% 255, 255, 255);

lumutang bagongX, bagongY;

newX = mouseX + (ingay (millis () / 1000.0 + 1.2) - 0.5) * 800;

newY = mouseY + (ingay (millis () / 1000.0) - 0.5) * 800;

linya (mouseX, mouseY, newX, newY);

} [/cceN_cpp]

Kapag kinokontrol namin ang H (hues) sa stroke, gumamit kami ng millis (). Makukuha nito ang oras ng operasyon mula sa simula hanggang sa kasalukuyan. Kaya, tulad ng oras na sumusulong, ang halaga ng H (kulay) ay awtomatikong tataas, pagkatapos ay ang mga pagbabago sa kulay.

Ang yunit ng millis () ay ms. Kaya, kapag tumatakbo ang programa para sa 1 segundo, ang halaga ng pagbabalik ay magiging 1000. Ito ay hahantong sa isang halaga na masyadong malaki. Kaya kailangan nating hatiin ito sa pamamagitan ng 1000.0.

Dahil inaasahan namin na ang mga kulay ay magpapakita ng isang pana-panahong sirkulasyon, kaya kailangan naming gawin ang operasyon ng modulo kapag sa wakas ay isinulat namin ang unang parameter sa stroke. Maaari nitong matiyak na magsisimula ito mula sa 0 muli nang lumampas sa H5 ang H (hue).

Function strokeWeight () maaaring makontrol ang kapal ng mga linya. Ang kaukulang yunit para sa mga parameter sa loob ng bracket ay pixel.

Hakbang 6: Kaso ng Application ng Mode 2

Halimbawa ng Code (9-7):

[cceN_cpp tema = "bukang-liwayway"] int num; // dami ng mga linya na kasalukuyang iginuhit

float posX_A, posY_A; // Coordinate of point A

float posX_B, posY_B; // Coordinate of point B

float angguloA, bilisA; // Angle of point A, bilis

float angguloB, bilisB; // Angle of point B, bilis

float radiusX_A, radiusY_A; // Ang radius ng hugis-itlog na nabuo sa pamamagitan ng point A sa X (Y) axle.

float radiusX_B, radiusY_B; // siya radius ng hugis-itlog na nabuo sa pamamagitan ng point B sa X (Y) axle.

walang bisa ang pag-setup () {

laki (800, 800);

colorMode (HSB);

background (0);

bilisA = 0,0009;

bilisB = 0.003;

radiusX_A = 300;

radiusY_A = 200;

radiusX_B = 200;

radiusY_B = 300;

}

walang bisa draw () {

isalin (lapad / 2, taas / 2);

para sa (int i = 0; i <50; i ++) {

angguloA + = bilisA;

angguloB + = bilisB;

posX_A = cos (angguloA) * radiusX_A;

posY_A = sin (angguloA) * radiusY_A;

posX_B = cos (angguloB) * radiusX_B;

posY_B = sin (angguloB) * radiusY_B;

stroke (int (num / 500.0)% 255, 255, 255, 10);

linya (posX_A, posY_A, posX_B, posY_B);

num ++;

}

} [/cceN_cpp]

Epekto ng Operasyon:

Larawan ng Output:

Ang pattern na iyong nakita ay ginawa ng isang linya ng paggalaw sa pamamagitan ng patuloy na pag-o-overlap. Ang mga bakas ng dalawang dulo ng linya ng linya ay magkakahiwalay na dalawang bilog.

Sa pamamagitan ng HSB mode, kinontrol namin ang mga pagbabago ng kulay. Sa pagtaas ng mga linya, ang kulay ay mapapalitan. Kapag ang napakalaking mga linya na kalahating-transparent ay nag-o-overlap, lilikha ito ng napaka-mayaman na gradient ng kulay.

Nag-embed kami ng isang para sa loop sa pagguhit ng pag-andar na may layunin na gamitin para sa loop upang makontrol ang dami ng linya. Ito ay katumbas ng na kontrolado namin ang bilis ng pagguhit. Ang pagtaas ng halaga ng kundisyon ng paghatol para sa loop, tataas nito ang pagguhit ng seepd.

Nasa ibaba ang iskematiko na pigura. Maaari mong makita ang kilusan ng paggalaw ng mga bilog nang mas malinaw.

Ayusin ang iba't ibang bilis at radius, magkakaiba rin ang mga pattern na nabuo. Subukang baguhin ang mga variable tulad ng anggulo, bilis, radiusX, radiusY at makita kung ano ang mangyayari.

Hakbang 7: Layer Blending Mode

Ang iba't ibang mga mode ng kulay na pinag-usapan namin dati ay alll na ginagamit upang kulayan ang mga graphic'component. Maliban upang magamit ang pamamaraang ito upang makontrol ang kulay, ang Pagproseso ay maaaring gumamit ng iba't ibang mga layer 'blending mode tulad ng Photoshop.

Buksan ang window ng layer sa PS, mag-click upang piliin ang blending mode ng mga layer, pagkatapos ay makikita natin ang mga pagpipiliang ito.

Ang mga ito ay mayroon nang mga mode ng layer sa PS. Upang masabi ito nang simple, ang blending mode ay maaaring isaalang-alang bilang isang uri ng mode ng pagkalkula ng kulay. Magpapasya kung aling kulay ang malilikha sa huling kapag "kulay A" plus "kulay B". Narito ang "kulay A" ay nangangahulugang ang kulay sa likod ng kasalukuyang layer (tinatawag ding kulay ng batayan). Ang "kulay B" ay nangangahulugang ang kulay ng kasalukuyang layer (tinatawag ding halo-halong kulay). Kalkulahin ng programa upang makakuha ng kulay C ayon sa halaga ng RGB at alpha ng kulay A at B. Ipapakita ito sa screen bilang isang resulta ng kulay.

Ang magkakaibang layer mode ay nangangahulugang iba't ibang mga pamamaraan ng pagkalkula. Sa susunod na kalahating bahagi ng seryeng ito ng mga artikulo, magpapatuloy kaming ipaliwanag ito sa mga detalye. Ngayon ay dapat lamang nating malaman muna ang paggamit nito.

Tingnan natin ang isang halimbawa ng paggamit ng Add Mode sa programa.

Halimbawa ng Code (9-8):

[cceN_cpp tema = "bukang-liwayway"] Imahe ang imahe1, imahe2;

walang bisa ang pag-setup () {

laki (800, 400);

image1 = loadImage ("1.jpg");

image2 = loadImage ("2.jpg");

}

walang bisa draw () {

background (0);

blendMode (ADD);

imahe (image1, 0, 0, 400, 400);

imahe (image2, mouseX, mouseY, 400, 400);

}

[/cceN_cpp]

Resulta:

Ginagamit ang function blendMode () upang itakda ang blending mode ng graphics. Pinupunan namin ang ADD sa likod ay nangangahulugang itinakda namin ang Magdagdag ng Mode.

Sa programa, walang konsepto ng layer. Ngunit dahil mayroong pagkakasunud-sunod ng pagguhit ng mga graphic na sangkap, kaya kapag ang paghahalo ng mga larawan, ang imahe 1 ay itinuturing na kulay ng batayan at imahe 2 bilang halo-halong kulay.

Ang ADD mode ay kabilang sa "Brighten Class". Pagkatapos gamitin ito, makakakuha ka ng isang maliwanag na epekto.

Nasa ibaba ang isang blending mode na maaaring magamit sa Pagproseso.

Hakbang 8: Pagproseso ng Blending Mode

Maaari naming subukang baguhin ang iba't ibang blending mode upang makita ang epekto.

Kapag ang halimbawa (9-8) ay nagpatibay ng overlap na mode (ang background ay dapat itakda sa puti):

Matapos gamitin ang Substract Mode (ang background ay dapat itakda sa puti):

Hakbang 9: Kaso ng Application ng Layer Blending Mode

Ang mode ng paghahalo ay hindi lamang magagamit sa mga larawan, ngunit angkop din para sa lahat ng mga graphic na bahagi sa canvas. Sa ibaba ay ipinakita ang isang paggamit tungkol sa Add Mode. Maaari itong magamit sa analog iba't ibang mga epekto sa pag-iilaw.

Halimbawa ng Code (9-9):

[cceN_cpp tema = "bukang-liwayway"] walang bisa na pag-set up () {

laki (400, 400);

}

walang bisa draw () {

background (0);

blendMode (ADD);

int num = int (3000 * mouseX / 400.0);

para sa (int i = 0; i <num; i ++) {

kung (random (1) <0.5) {

punan (0, 50, 0);

} iba pa {

punan (50);

}

ellipse (random (50, lapad - 50), random (50, taas - 50), 20, 20);

}

}

[/cceN_cpp]

Dito, sa pamamagitan ng random na pag-andar, pinaghalo namin ang berdeng kulay at puting kulay, na nagdala ng alpha na, sa mga maliit na butil. Maaari naming gamitin ang mouse upang makontrol ang dami ng bilog at panoorin ang overlap na epekto.

Ang ADD at SCREEN ay magkatulad. Bagaman pareho ito upang magpasaya, may mga banayad na pagkakaiba. Maaari mo itong palitan sa SCREEN at gumawa ng paghahambing. Matapos ma-overlap, ang kadalisayan at ningning ng ADD ay magiging mas mataas. Ito ay angkop para sa pagkakatulad ng epekto ng pag-iilaw.

Tulad ng para sa kulay, narito natapos na tayo sa kabanatang ito. Para sa "wikang" ito, pinagkadalubhasaan mo na ang sapat na mga bakante. Ngayon, magmadali upang magamit ang code upang masiyahan sa mundo ng hugis at kulay!

Hakbang 10: Pinagmulan

Ang artikulong ito ay mula sa:

Kung mayroon kang anumang mga katanungan, maaari kang makipag-ugnay sa : [email protected].

Inirerekumendang: