Billedskala i CMS
Lær om den interne billedskalering med IMG.pl: fra det lokale originalbillede via bredde, højde, beskæring, kvalitet og zoom til den færdige billedfil efter CMS-site-rendering.
Mål med vejledningen
Du lærer, hvordan bluetronix CMS skalerer lokale billeder via IMG.pl under CMS-site-renderingsprocessen, hvilke seks parametre kaldet bruger, og hvorfor browseren derefter kun modtager den færdiglavede billedefil.
bluetronix CMS har:
IMG.pl
en central funktion til automatisk skalering og behandling af billeder.
IMG.pl anvendes inden for CMS til automatisk at beskære eller skalere billeder til en ønsket størrelse under CMS-site-renderingsprocessen.
Vigtigt: IMG.pl er en intern funktion i bluetronix CMS. IMG.pl-kaldet leveres ikke som en endelig billed-URL til besøgende.
Grundprincip
Inden for HTML-koden kan der først anvendes et internt IMG.pl-kald.
Eksempel:
<img src="/CMS/cgi-bin/IMG.pl?/img/image.jpg=700=500=1=100=1">
Under rendering-processen af CMS-siden behandles dette kald.
CMS'et genererer en tilsvarende skaleret billedfil én gang.
Herefter erstattes det oprindelige IMG.pl-kald med filnavnet på den færdige billedfil.
Kode før rendering
<img src="/CMS/cgi-bin/IMG.pl?/img/image.jpg=700=500=1=100=1">
Kode efter rendering
Efter behandlingen kan HTML-koden f.eks. se sådan ud:
<img src="/tmp/img_image_700_500_1_100_1_1070.jpg">
Browseren modtager dermed ikke det oprindelige IMG.pl-kald, men direkte den allerede genererede billedfil.
Forløb i CMS-site-renderingsprocessen
HTML enthält IMG.pl-Aufruf
↓
CMS-Site-Rendering-Prozess
↓
IMG.pl wird intern verarbeitet
↓
Bild wird skaliert / zugeschnitten
↓
neue Bilddatei wird erzeugt
↓
IMG.pl-Aufruf wird ersetzt
↓
fertiger Bild-Dateiname wird in das HTML eingesetzt
↓
fertige HTML-Seite wird ausgeliefert
Dermed skal billedskaleringen ikke udføres påny ved hvert browserkald.
IMG.pl bruges kun internt
Vigtigt: IMG.pl er udelukkende beregnet til intern brug inden for bluetronix CMS.
IMG.pl skal ikke bruges som ekstern billedgrænseflade eller kaldes direkte fra eksterne websider.
Behandlingen foregår internt under rendering-processen.
Uden forleveres udelukkende den færdige billedfil.
Billeder skal være tilgængelige på webserveren
Vigtigt: Alle billeder, der behandles via IMG.pl, skal befinde sig direkte på webpladsen for den respektive bluetronix-installation.
Eksterne billed-URL'er kan ikke bruges som kildefil.
Tilladt er f.eks.:
/img/image.jpg
Ikke tilladt er f.eks.:
https://external-domain.com/image.jpg
Kildedefilen skal være tilgængelig lokalt inden for webpladsen.
Opbygning af et IMG.pl-kald
Et typisk kald ser således ud:
<img src="/CMS/cgi-bin/IMG.pl?/img/image.jpg=700=500=1=100=1">
Parametrene angives direkte efter hinanden med:
=
adskilt.
Der bruges ingen parameter navne.
Det er udelukkende rækkefølgen af parametrene, der er afgørende.
Parameteroversigt
| Nr. | Parameter | Betydning | Eksempel |
|---|---|---|---|
| 1 | Filnavn | Sti til kildefilen på webpladsen | /img/image.jpg |
| 2 | Bredde | Ønsket bredde i pixel | 700 |
| 3 | Højde | Ønsket højde i pixel | 500 |
| 4 | Proportionalitet | Styrer den proportionale skalerings- eller beskæringsfunktion | 1 |
| 5 | Kvalitet | Kvaliteten af den genererede billedfil | 100 |
| 6 | Zoom | Styrer, om mindre billeder må forstørres til den ønskede størrelse | 1 |
Parameter 1 – Filnavn
Den første parameter indeholder stien til kildefilen.
Eksempel:
/img/image.jpg
Internt svarer denne parameter til:
my $f = $help[0];
Hvis den angivne kildefil ikke findes, afsluttes behandlingen.
Bemærk: Uden en gyldig lokal kildefil kan IMG.pl ikke generere et billede.
Parameter 2 – Bredde
Den anden parameter angiver den ønskede billedbredde i pixel.
Eksempel:
700
Internt:
my $w = $help[1];
Parameter 3 – Højde
Den tredje parameter angiver den ønskede billedehøjde i pixel.
Eksempel:
500
Internt:
my $h = $help[2];
Parameter 4 – Proportionalitet
Den fjerde parameter styrer den proportionale skalering eller beskæring af billedet.
Eksempel:
1
Internt:
my $p = $help[3];
Dermed kan der styres, hvordan det oprindelige billedforhold behandles under skalering eller beskæring.
Parameter 5 – Kvalitet
Den femte parameter bestemmer kvaliteten af den genererede billedfil for almindelige rasterbilleder.
Eksempel:
100
Internt:
my $q = $help[4];
Som regel sættes denne værdi til:
100
sættes.
Parameter 6 – Zoom
Den sjette parameter styrer, om et billede må forstørres, hvis den ønskede udgangsstørrelse er større end originalbilledet.
Internt:
my $z = $help[5];
Med:
1
bliver billedet forstørret efter behov.
Eksempel:
...=700=500=1=100=1
Uden aktiveret zoom vil et for lille billede ikke blive opkvalificeret. Det resterende område udfyldes i stedet med en hvid kant eller baggrund.
Eksempel med alle seks parametre
/CMS/cgi-bin/IMG.pl?/img/image.jpg=700=500=1=100=1
Værdierne betyder:
1. /img/image.jpg
→ Quelldatei
2. 700
→ Breite: 700 Pixel
3. 500
→ Höhe: 500 Pixel
4. 1
→ proportionale Verarbeitung / Zuschnitt
5. 100
→ Bildqualität
6. 1
→ Zoom aktiviert
Godkendte filtyper
IMG.pl understøtter følgende billedformater:
gif
jpg
jpe
jpeg
png
svg
| Filtype | Understøttet |
|---|---|
| GIF | Ja |
| JPG | Ja |
| JPE | Ja |
| JPEG | Ja |
| PNG | Ja |
| SVG | Ja |
Særlighed ved SVG-filer
Ved SVG-filer har den femte parameter en særlig betydning.
For almindelige billedeformater som JPG eller PNG er:
my $q = $help[4];
billedkvaliteten.
For SVG-filer bruges denne parameter derimod som farve.
Bemærk: $help[4] er teknisk set den femte overførte parameter, da det interne array starter ved indeks 0.
Dermed gælder:
JPG / PNG / GIF
Parameter 5
→ Qualität
SVG
Parameter 5
→ Farbe
At der kan indstilles eller ændres en ønsket farve ved behandling af en SVG-fil.
Intern parameterfordeling
Intern behandles de seks overgivne værdier på følgende måde:
my $f = $help[0]; # Dateiname
my $w = $help[1]; # Breite
my $h = $help[2]; # Höhe
my $p = $help[3]; # Proportionalität
my $q = $help[4]; # Qualität / bei SVG: Farbe
my $z = $help[5]; # Zoom
Hvorfor erstattes IMG.pl ved rendering?
Den interne IMG.pl-kald er ikke ment som en permanent offentlig billed-URL.
I stedet fungerer det som en instruktion til CMS'et:
Nimm dieses Bild
+
erzeuge diese Größe
+
verwende diese Skalierung
+
verwende diese Qualität
+
berücksichtige die Zoom-Einstellung
Resultatet gemmes derefter som en normal billedfil.
Fra:
<img src="/CMS/cgi-bin/IMG.pl?/img/image.jpg=700=500=1=100=1">
bliver for eksempel:
<img src="/tmp/img_image_700_500_1_100_1_1070.jpg">
Browseren modtager kun den færdige fil.
Fordele ved CMS-billedskalering
Den centrale billedskalering tilbyder flere fordele:
- einheitliche Bildgrößen
- automatischer Bildzuschnitt
- keine manuelle Erstellung jeder einzelnen Bildgröße erforderlich
- fertige Bilddateien können direkt ausgeliefert werden
- IMG.pl muss nicht als öffentliche Bildschnittstelle verwendet werden
- die Bildverarbeitung wird zentral vom CMS gesteuert
Sammendrag
IMG.pl er den centrale interne billedskalafunktion i bluetronix CMS.
Et typisk kald ser således ud:
<img src="/CMS/cgi-bin/IMG.pl?/img/image.jpg=700=500=1=100=1">
De seks parametre er:
1. Dateiname
2. Breite
3. Höhe
4. Proportionalität
5. Qualität / bei SVG Farbe
6. Zoom
Det er vigtigt:
Quelldateien müssen lokal auf dem Webspace liegen.
IMG.pl ist nur für die interne CMS-Verarbeitung vorgesehen.
IMG.pl-Aufrufe werden während des Rendering-Prozesses verarbeitet.
Nach außen wird die fertig erzeugte Bilddatei ausgeliefert.
Den grundlæggende proces er:
lokales Originalbild
↓
IMG.pl
↓
Skalierung / Zuschnitt
↓
fertige Bilddatei erzeugen
↓
IMG.pl-Aufruf im HTML ersetzen
↓
fertige Bild-URL an den Browser ausliefern
FAQ
hvad kunder ofte spørger os
Hvad er IMG.pl i bluetronix CMS?
IMG.pl er den centrale interne funktion til skalering og behandling af billeder under CMS-sitet-renderingsprocessen.
Kan jeg bruge IMG.pl som offentlig billedgrænseflade?
Nej. IMG.pl er udelukkende beregnet til intern brug inden for bluetronix CMS. Efter rendering leveres kun den færdige billedfil.
Hvorfor erstattes IMG.pl-kaldet under rendering?
CMS'et behandler de angivne skaleringsegenskaber, genererer billedfilen og erstatter det oprindelige kald i HTML med stien til den færdige fil. Browseren behøver derfor ikke at kalde den interne funktion.
Må kildefilen ligge på en ekstern server?
Nej. Originalbilledet skal være tilgængeligt direkte på webspace for den respektive bluetronix-installation. En ekstern billed-URL kan ikke bruges som kildefil.
Hvordan overgiver jeg de seks IMG.pl-parametre?
Værdierne overgives sekventielt uden parameternavne adskilt med lighedstegnet =. Den angivne rækkefølge er afgørende.
Hvilken rækkefølge har IMG.pl-parametrene?
Rækkefølgen er: filnavn, bredde, højde, proportionalitet, kvalitet eller i tilfælde af SVG farve samt zoom.
Hvad sker der, hvis det angivne originalbillede mangler?
Hvis kildefilen ikke eksisterer, afsluttes IMG.pl-behandlingen, og der kan ikke oprettes en tilsvarende skaleret billedfil.
Hvordan angiver jeg størrelsen på billedudgangen?
Ved hjælp af den anden og tredje parameter bestemmer du bredde og højde i pixels. Den fjerde parameter påvirker den proportionale skalering eller beskæringen.
Hvad gør zoom-parameteren?
Den sjette parameter angiver, om et for lille originalbillede må forstørres til den ønskede udgangsstørrelse. Med 1 aktiveres zoom; uden aktiveret zoom vil det resterende område ved for små billeder blive fyldt med hvid.
Hvilken betydning har den femte parameter ved SVG-filer?
For sædvanlige rasterbilleder som JPG eller PNG bestemmer den femte parameter kvaliteten. For SVG-filer bruges samme parameter til farven.
Hvilke billedformater understøtter IMG.pl?
GIF, JPG, JPE, JPEG, PNG og SVG understøttes.
Hvordan ser HTML ud efter IMG.pl-behandlingen?
Den interne kald bliver erstattet af stien til den genererede fil. Et eksempel på dette er /tmp/img_image_700_500_1_100_1_1070.jpg; det konkrete filnavn afhænger af den enkelte behandling.
Skal IMG.pl skaleres ved hvert browseropkald?
Nej. Efter den interne behandling kan den allerede genererede billedfil leveres direkte. Browseren får kun den færdige billed-URL.