Cíl lekce
Cílem je transformovat otevřený obrázek v programu Adobe Photoshop na potrét, či krajinu vzhledem k velikosti plátna. Zároveň vytvoření okrajů k grafice, které se rovnají jedné desetině rozměru výšky, šířky. Grafické úpravy jsou vidět níže pod tímto odstavcem v obou verzích – krajina, portrét.
Původní obrázek - obrázek 10.1
Výsledný obrázek (krajina) - obrázek 10.2
Původní obrázek- obrázek 10.3
Výsledný obrázek (portrét) - obrázek 10.4
Využité třídy v této lekci
- Application: pro práci s atributy dokumentu.
- Selection: vytváření výběrů.
- SolidColor: definování barvy.
- Preferences: nastavení jednotek.
Vytvoření barvy
Pro tvorbu barvy zvolím vytvoření jednoduché funkce, která vrací třídu SolidColor s již předdefinovanou barvou. Barvu lze libovolně modifikovat podle uvážení, samozřejmně v rozmezí od 0 do 255 odstínu barvy. Funkce tedy vytvoří objekt třídy SolidColor a definuje její barvové složky pomocí modelu RGB.
function getColor(){
//objekt
var color = new SolidColor();
//zastoupení barvových složek
backgroundC.rgb.red = 0;
backgroundC.rgb.green = 0;
backgroundC.rgb.blue = 0;
return color;
}
Funkce pro výběr
Následně potřebuji vytvořit výběr z grafiky. Rozlišením zdali je šířka menší jak výška zjistím, zda-li se
jedná o portrét či krajinu.
Podle toho výsledku vyberu oblast. V případě krajiny vždy na ose X posouvám výběr o rozdíl šířka,
výšky dělený dvěma a osa Y je pro mě buď nula či maximální výška.
Toto je u portrétu naopak s přidáním přičtení šířky u osy Y. Výsledné pole výběru si vratím jako
návratovou hodnotu pomocí klíčového slova (return).
function createArray(width, height){
var selection;
if(width < height){
//potrét
selection = Array(
Array(0,(height-width)/2), //horní levý roh
Array(0, (height-width)/2+width),
Array(width, (height-width)/2+width), //pravý dolní roh
Array(width, (height-width)/2));
}else{
//krajina
selection = Array(
Array((width-height)/2,0), //horní levý roh
Array((width-height)/2+height,0), /
Array((width-height)/2+height,height), //dolní pravý roh
Array((width-height)/2,height));
}
return selection;
}
Dialog potvrzení změn
Ještě před provedením změn, otevřu pro uživatele dialog pro potvrzení změn, které se mají provést.
funkce confirm() požadu je tři parametry, text, aktivní tlačítko dialogu(false = ano, true = ne), titulek.
Do textu si vložím všechny vypočítané souřadnice a pomoci \n je jednoduše naformátuji. Samotná funkce poté vrací
booleanovskou proměnou, zda uživatel klikl na ano, či ne.