Can you change the color of a vector?

Skift Farve på SVG Nemt med Teksteditor

Har du nogensinde haft brug for hurtigt at ændre farven på et ikon eller en grafik, der er gemt som en SVG-fil? Måske skulle det matche et nyt design eller passe ind på en anden baggrund? Mange tror, at man skal bruge avancerede grafikprogrammer som Adobe Illustrator eller Inkscape, men ofte er det slet ikke nødvendigt. Med en simpel teksteditor kan du lynhurtigt justere farverne direkte i filens kode. Det er en utrolig praktisk færdighed for webdesignere, udviklere og alle, der arbejder med SVG.

SVG står for Scalable Vector Graphics. Det særlige ved SVG er, at det ikke er et pixelbaseret format ligesom JPEG eller PNG. I stedet er det et vektorformat, der beskriver grafikken ved hjælp af matematiske ligninger og XML-kode. Denne kode definerer former, linjer, kurver og farver. Fordi det er tekstbaseret, kan du åbne en SVG-fil i enhver teksteditor – selv Notatblok på Windows eller TextEdit på Mac.

How do you change the color of a shape?
Select the shape or text box. On the Drawing Tools Format tab, click Shape Fill > More Fill Colors. In the Colors box, either click the color you want on the Standard tab, or mix your own color on the Custom tab.
Indholds

Hvorfor Er SVG Anderledes?

Den primære forskel ligger i, hvordan billedet er gemt. Pixelbaserede formater gemmer information om hver enkelt pixel (punkt) i et gitter. Hvis du forstørrer billedet, bliver pixellerne synlige, og billedet bliver uskarpt eller kornet. Vektorformater som SVG gemmer derimod instruktioner om, hvordan grafikken skal tegnes. En cirkel beskrives for eksempel som 'en cirkel med centrum i X,Y og radius R'. Når du forstørrer en SVG, genberegner softwaren, hvordan cirklen skal tegnes i den nye størrelse, hvilket betyder, at grafikken forbliver knivskarp uanset skalaen. Denne skalerbarhed er en af de største fordele ved SVG, især til webbrug, hvor grafik ofte skal se godt ud på forskellige skærmstørrelser og opløsninger.

Farvernes Sprog: HEX-koder

Hvordan defineres farverne så i SVG-koden? De bruger ofte HEX-kode. En HEX-kode er en seks-cifret (eller tre-cifret, men seks er mest almindeligt) heksadecimal værdi, der repræsenterer en farve. Den er bygget op af tre par cifre, hvor hvert par repræsenterer intensiteten af rød, grøn og blå (RGB) i farven. For eksempel:

  • #FFFFFF repræsenterer hvid (maksimal rød, grøn og blå).
  • #000000 repræsenterer sort (ingen rød, grøn eller blå).
  • #FF0000 repræsenterer ren rød (maksimal rød, ingen grøn, ingen blå).
  • #00FF00 repræsenterer ren grøn.
  • #0000FF repræsenterer ren blå.
  • #AABBCC repræsenterer en specifik nuance af gråblå.

Disse HEX-koder er standard inden for webdesign og grafik og findes nemt. Du kan bruge online farvevælgere, farveværktøjer i din browser (ofte indbygget i udviklerværktøjerne) eller farvevælgere i grafikprogrammer som Photoshop, GIMP eller endda online-værktøjer. Pointen er, at du skal kende den HEX-kode for den farve, du ønsker at erstatte den eksisterende farve med.

Sådan Ændrer Du Farven Trin for Trin

Processen er overraskende ligetil, når du først forstår, hvad du skal kigge efter:

  1. Find den Ønskede Farve og Dens HEX-kode: Før du åbner SVG-filen, skal du vide, hvilken farve du vil bruge. Find dens HEX-kode ved hjælp af et farvevælger-værktøj online eller i et grafikprogram. Husk at notere koden, f.eks. #FF4500 for en orange farve.
  2. Åbn SVG-filen i en Teksteditor: Højreklik på SVG-filen og vælg at åbne den med en teksteditor. Standardprogrammer som Notatblok, TextEdit, VS Code, Sublime Text, Notepad++ eller lignende vil fungere fint.
  3. Find Farvedefinitionerne: Når filen er åben, vil du se en masse kode. Du skal lede efter attributter, der definerer farverne. De mest almindelige er fill og stroke.

fill: Denne attribut bestemmer farven på det indre af en form (f.eks. en cirkel, en firkant eller en sti).

stroke: Denne attribut bestemmer farven på omridset eller kanten af en form.

Du vil se noget i stil med dette i koden:

<path d="M...Z" fill="#FFFFFF" stroke="#000000"/>
<circle cx="50" cy="50" r="40" fill="#FF0000"/>

Her ser du, at det første element (en sti) har en fill-farve, der er hvid (#FFFFFF), og en stroke-farve, der er sort (#000000). Cirklen har en fill-farve, der er rød (#FF0000).

  1. Erstat HEX-koderne: Nu kommer selve farveændringen. Find den HEX-kode, du vil ændre (f.eks. #FFFFFF), og erstat den med den nye HEX-kode, du fandt i trin 1 (f.eks. #FF4500). Vær omhyggelig med kun at ændre koden mellem anførselstegnene efter fill= eller stroke=.

Hvis du for eksempel vil ændre den hvide fill (#FFFFFF) til orange (#FF4500) i eksemplet ovenfor, vil linjen se sådan ud efter redigeringen:

<path d="M...Z" fill="#FF4500" stroke="#000000"/>

Det er vigtigt at bemærke, at en SVG kan indeholde mange elementer, og hvert element kan have sin egen fill og stroke farve. Hvis du vil ændre farven på hele grafikken, skal du muligvis finde og erstatte den samme gamle HEX-kode flere steder i filen. Brug din teksteditors 'Find og Erstat' funktion til hurtigt at finde alle forekomster af den gamle kode og erstatte dem med den nye. Vær dog forsigtig, da nogle HEX-koder kan optræde i andre sammenhænge end farvedefinitioner, selvom det er sjældent i simple SVG'er.

  1. Gem Filen: Når du har foretaget ændringerne, skal du gemme filen. Sørg for at gemme den som den oprindelige filtype (.svg).
  2. Forhåndsvisning: Åbn den gemte SVG-fil i en browser. De fleste moderne webbrowsere (Chrome, Firefox, Safari, Edge osv.) kan direkte vise SVG-filer. Dette er den nemmeste måde at kontrollere, om farveændringen er lykkedes.

Find Farvekoderne

Som nævnt er det afgørende at kende den nøjagtige HEX-kode for den farve, du ønsker at bruge. Her er et par måder at finde dem på:

  • Online Farvevælgere: Der findes utallige gratis hjemmesider, hvor du kan vælge en farve og få vist dens HEX-kode, RGB-værdier, HSL-værdier osv. Søg efter 'online color picker'.
  • Browserudviklerværktøjer: I de fleste browsere kan du trykke F12 for at åbne udviklerværktøjerne. Her er der ofte et farvevælger-værktøj indbygget, som du kan bruge til at 'suge' farver fra websites og få deres koder.
  • Grafikprogrammer: Programmer som Photoshop, GIMP, Illustrator, Inkscape osv. har alle avancerede farvevælgere, der viser HEX-koden for den valgte farve.

Fordele ved denne Metode

At ændre SVG-farver direkte i koden har flere fordele:

  • Hurtighed: For simple ændringer er det langt hurtigere end at åbne et stort grafikprogram.
  • Præcision: Du arbejder direkte med de eksakte farvekoder.
  • Ingen Kvalitetstab: Da SVG er vektorbaseret, er der intet kvalitetstab ved at redigere koden.
  • Tilgængelighed: Kræver kun en simpel teksteditor, som er installeret på stort set alle computere.
  • Filstørrelse: Redigering af koden ændrer sjældent filstørrelsen mærkbart, i modsætning til eksport fra grafikprogrammer, der kan tilføje unødvendig metadata.

Begrænsninger

Denne metode er mest effektiv for simple SVG'er med få farver eller hvor du ønsker at ændre en enkelt farve, der går igen. Mere komplekse SVG'er, der bruger gradienter, mønstre, masker eller mange forskellige farver, kan være sværere at redigere manuelt i koden. I sådanne tilfælde kan et grafikprogram være mere hensigtsmæssigt.

Ofte Stillede Spørgsmål

Q: Kan jeg ændre farven til et navn i stedet for en HEX-kode?
A: Ja, SVG understøtter også farvenavne som 'red', 'blue', 'white', 'black' osv., men HEX-koder giver meget større præcision og adgang til millioner af farvenuancer, hvor farvenavne kun dækker et begrænset sæt standardfarver.

Q: Hvad hvis jeg ikke kan finde fill eller stroke i koden?
A: Nogle SVG'er bruger CSS (Cascading Style Sheets) internt i filen til at definere farver. I så fald vil du se en <style>...</style> sektion, der indeholder CSS-regler. Du skal så finde farvedefinitionerne (f.eks. fill: #XXXXXX; eller stroke: #YYYYYY;) inden for disse CSS-regler og ændre HEX-koden der. Alternativt kan farverne være defineret eksternt via CSS, men det er mindre almindeligt for simple ikoner.

Q: Kan jeg ændre gennemsigtighed med denne metode?
A: Ja, du kan bruge fill-opacity eller stroke-opacity attributterne, der tager en værdi mellem 0 (fuldstændig gennemsigtig) og 1 (fuldstændig uigennemsigtig). For eksempel fill-opacity="0.5". Du kan også bruge HEX-koder med en alfa-kanal, f.eks. #RRGGBBAA, hvor AA er gennemsigtigheden, men dette er ikke understøttet i alle ældre browsere eller systemer.

Q: Er det sikkert at redigere SVG-kode manuelt?
A: Ja, så længe du kun ændrer værdierne inden for anførselstegnene efter fill=, stroke=, fill-opacity= eller stroke-opacity=, og du kender den HEX-kode, du indsætter, er det meget sikkert. Lav altid en kopi af filen, før du redigerer, så du kan vende tilbage til originalen, hvis noget går galt.

At mestre denne enkle teknik til at ændre farver i SVG-filer med en teksteditor kan spare dig for meget tid og besvær. Det er et godt eksempel på fleksibiliteten ved vektorformater og den åbne natur af webteknologier som XML. Næste gang du skal justere farven på et SVG-ikon, så prøv denne metode, før du åbner de tunge grafikprogrammer.

Hvis du vil læse andre artikler, der ligner Skift Farve på SVG Nemt med Teksteditor, kan du besøge kategorien Grafik.

Avatar photo

Franne Voigt

Mit navn er Franne Voigt, jeg er en 35-årig fotograf fra Danmark med en passion for at fange øjeblikke og dele mine erfaringer gennem min fotoblog. Jeg har arbejdet med både portræt- og naturfotografi i over et årti, og på bloggen giver jeg tips, teknikker og inspiration til både nye og erfarne fotografer. Fotografi er for mig en måde at fortælle historier på – én ramme ad gangen.

Go up