Ligesom lag og kanaler er kurver dele af et billede. Når et billede gemmes i GIMPs eget XCF-filformat, gemmes tilhørende kurver sammen med det. En liste over billedets kurver kan ses i dialogen Kurver, hvor kurverne også kan manipuleres. Du kan flytte en kurve fra et billede til et andet ved at kopiere og indsætte det med pop op-menuen i dialogen Kurver eller ved at trække et ikon fra listen over på det ønskede billede.
GIMPs kurver tilhører en matematisk type kaldet “Bézier-kurver”. Det betyder, at de er definerede ved ankre og håndtag. “Ankre” er punkter, som kurven går igennem. “Håndtag” definerer en kurves retning, når den går gennem et ankerpunkt; hvert ankerpunkt har to håndtag.
Kurver kan være meget komplekse. Opretter du dem i hånden med værktøjet Kurver, indeholder de sandsynligvis kun nogle få dusin ankerpunkter og typisk mindre end det. Opretter du kurver ved at konvertere en markering eller tekst til kurver, kan de nemt indeholde i hundredvis eller måske endda tusindvis af ankerpunkter.
En kurve kan indeholde flere komponenter. En “komponent” er en del af en kurve, hvis ankerpunkter alle er forbundne med hinanden gennem kurvestykker. Med mange komponenter i kurver kan man konvertere dem til markeringer med flere enkeltstående dele.
En kurves komponenter kan være enten åbne eller lukkede: “Lukkede” betyder, at det sidste ankerpunkt er forbundet med det første. Transformeres en kurve til en markering, vil åbne komponenter automatisk blive konverteret til lukkede komponenter ved at forbinde det sidste ankerpunkt til det første med en ret linje.
Kurvestykker kan være enten rette eller buede. En kurve kaldes “polygonal”, hvis alle kurvestykkerne er rette linjer. Et nyoprettet kurvestykke er altid en ret linje. Ankerpunkternes håndtag ligger oven på ankerpunkterne, så håndtagene ingen længde har, hvilket giver rette linjestykker. Træk et håndtag væk fra dets ankerpunkt for at ændre en ret linje til et buet kurvestykke.
En god ting ved kurver er, at de bruger meget få ressourcer, især i sammenligning med billeder. At repræsentere en kurve i RAM kræver kun lagring af koordinaterne for dens ankerpunkter og håndtag. Derfor er det muligt at have bogstaveligt talt hundredvis af kurver i et billede, uden at det belaster dit system nævneværdigt. Selv en kurve med tusindvis af segmenter bruger minimale ressourcer i forhold til et typisk lag eller en kanal.
Kurver kan oprettes og manipuleres med værktøjet Kurver.