Arbejde med billeder og tekst
Tegn billeder og stylede tekststykker på canvas.
Arbejde med billeder og tekst er en gratis JavaScript Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i JavaScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. JavaScript Academy-kurset indeholder 4 lektioner i alt.
Indlæsning af et billede
Canvas tegner ud fra et HTMLImageElement. Opret et Image, angiv dets src, og vent på onload, før du tegner — pixels er ikke tilgængelige før da.
const img = new Image();
img.onload = () => ctx.drawImage(img, 0, 0);
img.src = "/logo.png";Grundlæggende brug af drawImage
drawImage(img, dx, dy) tegner billedet på den angivne position i dets oprindelige størrelse.
img.onload = () => {
ctx.drawImage(img, 20, 20);
};Skalering af billeder
Varianten med fem argumenter, drawImage(img, dx, dy, dWidth, dHeight), skalerer billedet ind i et målrektangel.
ctx.drawImage(img, 0, 0, 160, 90); // fit into 160x90Beskæring med kilde-rektangel
Varianten med ni argumenter gør det muligt at beskære: drawImage(img, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight). De første fire argumenter beskriver kildeudsnittet.
ctx.drawImage(img, 0, 0, 50, 50, 10, 10, 100, 100); // crop 50x50 → scale to 100x100Tegning af udfyldt tekst
fillText(text, x, y) tegner tekst ved hjælp af fillStyle. Som standard er y tekstens grundlinje.
ctx.fillStyle = "#2c3e50";
ctx.font = "24px sans-serif";
ctx.fillText("Hello Canvas", 20, 50);Tekst med omrids
strokeText(text, x, y) tegner kun omridset ved hjælp af strokeStyle og lineWidth.
ctx.font = "40px bold serif";
ctx.lineWidth = 2;
ctx.strokeStyle = "navy";
ctx.strokeText("Outline", 20, 80);Egenskaben font
font følger CSS-kortnotationen: [style] [weight] size family. Størrelse og skrifttypefamilie er påkrævet.
ctx.font = "italic bold 28px Georgia, serif";Tekstjustering
textAlign (start/end/left/right/center) angiver den vandrette forankring, mens textBaseline (top/middle/alphabetic/bottom) angiver den lodrette forankring omkring det givne punkt.
ctx.textAlign = "center";
ctx.textBaseline = "middle";
ctx.fillText("Centered", canvas.width / 2, canvas.height / 2);Måling af tekst
measureText(text) returnerer et TextMetrics-objekt. Dets width fortæller, hvor bred teksten bliver, når den tegnes — det er afgørende for layout og ombrydning.
const m = ctx.measureText("How wide?");
console.log(m.width); // pixelsEnkel ombrydning af ord
Kombinér measureText med en løkke for at ombryde lange tekststrenge over flere linjer.
function wrap(ctx, text, x, y, maxW, lh) {
let line = "";
for (const word of text.split(" ")) {
const test = line + word + " ";
if (ctx.measureText(test).width > maxW && line) {
ctx.fillText(line, x, y);
line = word + " ";
y += lh;
} else {
line = test;
}
}
ctx.fillText(line, x, y);
}Skygger for dybde
Skyggeegenskaber gælder for figurer, billeder og tekst: shadowColor, shadowBlur, shadowOffsetX/Y.
ctx.shadowColor = "rgba(0,0,0,0.4)";
ctx.shadowBlur = 8;
ctx.shadowOffsetX = 3;
ctx.shadowOffsetY = 3;
ctx.fillText("With shadow", 20, 60);Hurtigt tjek
Test tegning af billeder og tekst.
Opsummering: Billeder og tekst
Du har lært at indlæse billeder og tegne dem med skalering og beskæring via drawImage, tegne tekst med fillText/strokeText, angive font, justere tekst, måle bredder med measureText og tilføje skygger. Dernæst ser du på animation.
Lær JavaScript med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 59
- Lektioner
- 200
Ofte stillede spørgsmål
Er lektionen “Arbejde med billeder og tekst” gratis?
Ja — alle 3 lektioner i læringssporet JavaScript Academy, inklusive “Arbejde med billeder og tekst”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. JavaScript Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Arbejde med billeder og tekst”?
Tegn billeder og stylede tekststykker på canvas. Du øver dig i JavaScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på JavaScript Academy?
Der kræves ingen tidligere erfaring. JavaScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Arbejde med billeder og tekst”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne JavaScript Academy-lektion?
Ja. Alle JavaScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Opsætning af Canvas-konteksten
- Tegning af figurer og kurver
- Arbejde med billeder og tekst
- Animation med requestAnimationFrame