Flags with Methods: Difference between revisions
Jump to navigation
Jump to search
| Line 112: | Line 112: | ||
The Nordic Cross features in flags of Scandinavia | The Nordic Cross features in flags of Scandinavia | ||
[[Image:flagmorenordic.png|left|frame|More Nordic crosses]] | [[Image:flagmorenordic.png|left|frame|More Nordic crosses]] | ||
Draw the flags of: | Draw the flags of: Norway, Iceland, Faroe Islands, Orkney | ||
* The small flags are 75 by 50. The line width is 6 with a border of 2 each side | |||
Norway | * The positions are (10,10) (95,10) (10,70) (95,70) | ||
Iceland | |||
Faroe Islands | |||
Orkney | |||
The small flags are 75 by 50. The line width is 6 with a border of 2 each side | |||
<pre class=usr> | <pre class=usr> | ||
function drawFlag(ctx){ | function drawFlag(ctx){ | ||
| Line 126: | Line 122: | ||
function drawFlag(ctx){ | function drawFlag(ctx){ | ||
let w = 75; | let w = 75; | ||
let h = | let h = 50; | ||
function | function nordic(x,y,b,e,s){ | ||
ctx.translate(x,y); | ctx.translate(x,y); | ||
ctx.fillStyle = b; | |||
ctx.fillRect(0,0,w,h); | |||
ctx.fillStyle = e; | |||
ctx.fillRect(20,0,10,h); | |||
ctx.fillRect(0,20,75,10); | |||
ctx.fillStyle = s; | |||
ctx.fillRect(22,0,6,h); | |||
ctx.fillRect(0,22,w,6); | |||
ctx.translate(-x,-y); | ctx.translate(-x,-y); | ||
} | } | ||
nordic(10,10,'red','white','blue'); | |||
nordic(95,10,'blue','white','red'); | |||
nordic(10,70,'white','blue','red'); | |||
nordic(95,70,'red','yellow','blue'); | |||
} | } | ||
</pre> | </pre> | ||
</div> | </div> | ||
Revision as of 14:17, 17 August 2021
Three colours
Several countries have flags that contain three colors in vertical stripes.

Draw the flags of:
- France
- Romania
- Belgium
- Nigeria
- Sizes are:
- The small flags are 75 by 50
- The margins are 10
function drawFlag(ctx){
}
function drawFlag(ctx){
function tri(x,y,cl){
ctx.translate(x,y);
cl.forEach((c,i)=>{
ctx.fillStyle = c;
ctx.fillRect(i*75/cl.length,0,75/cl.length,50);
});
ctx.translate(-x,-y);
}
ctx.fillStyle = 'gray';
tri(10,10,['red','white','blue']);
tri(95,10,['red','yellow','blue']);
tri(10,70,['black','yellow','red']);
tri(95,70,['green','white','green']);
}
Nordic cross
Several countries have flags that contain three colors in vertical stripes.

The Nordic Cross features in flags of Scandinavia
Draw the flags of: Sweden, Denmark, Finland, Östergötland
- The small flags are 75 by 50.
- The squares on the left are 20 by 20.
- The line width is 10.
function drawFlag(ctx){
}
function drawFlag(ctx){
function nordic(x,y,b,f){
ctx.translate(x,y);
ctx.fillStyle = b;
ctx.fillRect(0,0,75,50);
ctx.fillStyle = f;
ctx.fillRect(20,0,10,50);
ctx.fillRect(0,20,75,10);
ctx.translate(-x,-y);
}
nordic(10,10,'blue','yellow');
nordic(95,10,'red','white');
nordic(10,70,'white','blue');
nordic(95,70,'yellow','blue');
}
Horizontal stripes
Several countries have flags that contain several horizontal stripes.

Draw the flags of: Poland, Costa Rica, Columbia, Estonia, Mauritius
- The small flags are 75 by 48.
- Put the four flags at (10,10) (95,10) (10,70) and (95,70)
- It may be useful to have two adjacent same-colour stripes.
function drawFlag(ctx){
}
function drawFlag(ctx){
let w = 75;
let h = 48;
function stripes(x,y,cl){
ctx.translate(x,y);
cl.forEach((c,i)=>{
ctx.fillStyle = c;
ctx.fillRect(0,i*h/cl.length,75,h/cl.length);
});
ctx.translate(-x,-y);
}
stripes(10,10,['white','red']);
stripes(95,10,['yellow','yellow','blue','red']);
stripes(10,70,['blue','white','red','red','white','blue']);
stripes(95,70,['red','blue','yellow','green']);
}
More Nordic crosses
The Nordic Cross features in flags of Scandinavia

Draw the flags of: Norway, Iceland, Faroe Islands, Orkney
- The small flags are 75 by 50. The line width is 6 with a border of 2 each side
- The positions are (10,10) (95,10) (10,70) (95,70)
function drawFlag(ctx){
}
function drawFlag(ctx){
let w = 75;
let h = 50;
function nordic(x,y,b,e,s){
ctx.translate(x,y);
ctx.fillStyle = b;
ctx.fillRect(0,0,w,h);
ctx.fillStyle = e;
ctx.fillRect(20,0,10,h);
ctx.fillRect(0,20,75,10);
ctx.fillStyle = s;
ctx.fillRect(22,0,6,h);
ctx.fillRect(0,22,w,6);
ctx.translate(-x,-y);
}
nordic(10,10,'red','white','blue');
nordic(95,10,'blue','white','red');
nordic(10,70,'white','blue','red');
nordic(95,70,'red','yellow','blue');
}