Permalänk
Medlem

Nackdel med PNG-format?

Ja, som trådtitel, finns det? Håller på med en hemsida där bilderna ska ha rundade hörn. Jag har valt att bara stansa bort överflödet och spara filen i PNG för transparensen. Det är alltså "vanliga" kamerabilder det är frågan om. Hur ska man göra med skärpning av dylika bilder, ska de behandlas på samma sätt som om man skulle sparat i JPG? Eller finns det ett smartare sätt?

Visa signatur
Permalänk
Medlem

Du kan använda CSS för rundade hörn.

img
{
border-radius: 15px;
-moz-border-radius: 15px;
}

Visa signatur

R7-3700X, B450M Mortar MAX, 32GB DDR4 @ 3200, RTX 2080, Corsair CX650M Rev2

Permalänk
Medlem
Skrivet av Xeno88:

Du kan använda CSS för rundade hörn.

img
{
border-radius: 15px;
-moz-border-radius: 15px;
}

Jo iofs.
Men skulle det vara någon nackdel att ha dem i PNG istället? Det jag lyckats googla fram verkar tala för att PNG skulle vara det ultimata bildformatet på webben.
Vet ej om alla bilder ska ha rundade hörn än.

Visa signatur
Permalänk
Medlem
Skrivet av Marie96:

Jo iofs.
Men skulle det vara någon nackdel att ha dem i PNG istället? Det jag lyckats googla fram verkar tala för att PNG skulle vara det ultimata bildformatet på webben.
Vet ej om alla bilder ska ha rundade hörn än.

Bara mycket mer jobb om du ska ha bilder för hörnen

Visa signatur

Intel Core i7 4790k | ASUS STRIX GTX 980 OC | 1TB SAMSUNG 850 EVO

Permalänk
Medlem
Skrivet av addy1995:

Bara mycket mer jobb om du ska ha bilder för hörnen

Det blir ett par klick till. Alla bilder måste ändå köras genom PS.

Visa signatur
Permalänk
Medlem

.png filer är väll mycket större än t.ex. jpg? För den inte komprimerar lika mycket.

Visa signatur

i7 4770k @4.3GHz | Asus z87-pro | Asus 1080 | 16GB RAM | Samsung 840 Pro 256GB | 3TB HDD| Corsair RM850
Thinkpad x60 tablet | 3GB RAM | Crucial M4 128GB
Amiga 500+, Commodore 64/128D

Permalänk
Medlem

PNG filer kan bli stora om du behöver genomskinlighet (rundade hörn) eller använder 24-bitars färger. Filen blir större ju mer komplex bilden är att spara eftersom komprimeringen är förlustfri. Ibland är det smartara att använda sig av jpg om bilderna är av fotografisk natur och inte sådant som jpg komprimering förstör. GIF finns det ingen anledning att använda, förutom till enkla animationer.

Jag skulle rekommendera dig att testa CSS3 flör att skapa rundade hörn och JPG istället för PNG till själva bilden. Då blir hörnen snyggare på datorer med högupplösta skärmar (vissa tablets/mobiler med "retina" skärm eller motsvarande, samt nyare datorer eller användare som kör med 150% storlek i sitt OS).

Kolla http://cssround.com/ för inspiration.

Permalänk
Medlem

PNG bättre kvalité och fler finesser men är större och tar längre tid att ladda.

Visa signatur

Hänger på Sweclockers när jag blir köpsugen.

Permalänk
Medlem
Skrivet av Marie96:

Det blir ett par klick till. Alla bilder måste ändå köras genom PS.

Du borde tänka längre. Hur gör du när du vill uppdatera sidan i framtiden och tex. byta bakgrundsfärg (om du "hårdkodat" bakgrund i hörnen) eller byta stolek på effekten? Att då behövea ladda ett macro och köra om på orginalfilerna kan strula på massa sätt.

Permalänk
99:e percentilen
Skrivet av Marie96:

Jo iofs.
Men skulle det vara någon nackdel att ha dem i PNG istället? Det jag lyckats googla fram verkar tala för att PNG skulle vara det ultimata bildformatet på webben.
Vet ej om alla bilder ska ha rundade hörn än.

Ja, PNG använder lossless komprimering som är optimerad för grafik (Portable Network Graphics). JPEG använder lossy komprimering som är optimerad för fotografier. Dina foton kommer bli större om du komprimerar dem med PNG, och det är snyggare rent webbutvecklingsmässigt att ha dem i JPEG och använda CSS för rundade hörn. Konkreta fördelar:
- Om du vill ändra hörnens radier behöver du bara ändra ett enda CSS-värde istället för att shoppa om alla dina bilder.
- Besökarna kan spara bilderna och få dem obeskurna.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem

Använd CSS3 och JPG om målgruppen för hemsidan inte använder föråldrade webbläsare. Om de sitter med gamla läsare så hade jag nog antigen skapat hörnmasker och lagt ovanpå bilderna (i en DIV med z-index satt på bilderna som stöds sedan CSS2) eller kört med PNG.

Dock kan man nog misstänka att om besökare på sidan har webbläsare som inte stödjer CSS3 så har de nog en långsam uppkoppling åxå, så det kan bli problem med laddtiderna.

Permalänk
Medlem

Ok ok, jag är övertalad! Det får bli JPG och CSS3. Skulle tro att merparten av de tilltänkta läsarna sitter med IE, men förhoppningsvis med någon nyare modell.
Tack för era svar

Visa signatur
Permalänk
Medlem

Undvik att använda PNG för bilder med fotografiskt innehåll. Använd det när du har bilder med ett lågt antal färger, designelement med transparens/väldigt skarpa kanter eller absolut inte kan skapa rundade hörn/dylikt med CSS av någon anledning.

PNG komprimerar utan att förlora kvalitet (vilket innebär väldigt stora bilder) och idealet för i stort sett alla fotografiska bilder på webben är att spara i JPG och komprimera till, säg, 50%. Jag lovar, du märker ingen skillnad på kvaliteten på bilderna och du kan ta bort upp till 80-90% av filstorleken mot en vanlig, JPG sparad med 100% kvalitet.

Jag har inte möjlighet att ge exempel med bilder just nu, men jag gjorde ett snabbt test med en bild för att kunna bidra med lite siffror iallafall:

Orginalbild (JPG med dimensionerna 800 x 1067px och 100% kvalitet) var 1 MB stor. (som referens så ser bilden ut så här, men jag har ingen kontroll över hur imgur komprimerar).

PNG: 1.71 MB
JPG med 50% kvalitet: 226 kB
JPG med 50% kvalitet och Photoshops save for web: 222 kB (det är dock mycket större skillnad på mindre filer - använd alltid save for web!)

Det gör inget om du inte har stenkoll på filstorlekar, tänk bara att mindre är bättre sålänge det inte blir märkbart dålig kvalitet. En bild på 1 MB är väldigt, väldigt stor och det finns mängder av goda anledningar till att pressa filstorlekar så mycket som möjligt. Varje kilobyte räknas.

För att lösa ditt problem: Som folk redan skrivit, använd helst CSS border-radius på bilden (eller lägg bilden som bakgrund i en div och lägg border-radius på diven för bättre bakåtkompitabilitet). Om du inte kan, vill eller vågar (besökare med äldre webbläsare kommer inte se runda hörn), gör runda hörn direkt på bilden, men försök fortfarande att använda JPG. Om bakgrunden bilden med runda hörn ligger på är enfärgad så behöver du inte ha genomskinliga hörn...

Visa signatur
Permalänk
Medlem
Skrivet av Mest:

Undvik att använda PNG för bilder med fotografiskt innehåll. Använd det när du har bilder med ett lågt antal färger, designelement med transparens/väldigt skarpa kanter eller absolut inte kan skapa rundade hörn/dylikt med CSS av någon anledning.

PNG komprimerar inte bilder ö.h.t. och idealet för i stort sett alla fotografiska bilder på webben är att spara i JPG och komprimera till, säg, 50%. Jag lovar, du märker ingen skillnad på kvaliteten på bilderna och du kan ta bort upp till 80-90% av filstorleken mot en vanlig, JPG sparad med 100% kvalitet.

Jag har inte möjlighet att ge exempel med bilder just nu, men jag gjorde ett snabbt test med en bild för att kunna bidra med lite siffror iallafall:

Orginalbild (JPG med dimensionerna 800 x 1067px och 100% kvalitet) var 1 MB stor. (som referens så ser bilden ut så här, men jag har ingen kontroll över hur imgur komprimerar).

PNG: 1.71 MB
JPG med 50% kvalitet: 226 kB
JPG med 50% kvalitet och Photoshops save for web: 222 kB (det är dock mycket större skillnad på mindre filer - använd alltid save for web!)

Det gör inget om du inte har stenkoll på filstorlekar, tänk bara att mindre är bättre sålänge det inte blir märkbart dålig kvalitet. En bild på 1 MB är väldigt, väldigt stor och det finns mängder av goda anledningar till att pressa filstorlekar så mycket som möjligt. Varje kilobyte räknas.

För att lösa ditt problem: Som folk redan skrivit, använd helst CSS border-radius på bilden (eller lägg bilden som bakgrund i en div och lägg border-radius på diven för bättre bakåtkompitabilitet). Om du inte kan, vill eller vågar (besökare med äldre webbläsare kommer inte se runda hörn), gör runda hörn direkt på bilden, men försök fortfarande att använda JPG. Om bakgrunden bilden med runda hörn ligger på är enfärgad så behöver du inte ha genomskinliga hörn...

Tänkte inte ens på att de faktiskt ligger på en enfärgad bakgrund, och att jag därmed kan ha hörnen i samma färg och köra JPG *skäms*....tur att Swec finns.
De PNG-bilder jag gjort ligger på mellan 200-500kb.

edit, vilka webbläsare kommer att få problem om jag kör CSS3?

Visa signatur
Permalänk
Medlem
Skrivet av Marie96:

Tänkte inte ens på att de faktiskt ligger på en enfärgad bakgrund, och att jag därmed kan ha hörnen i samma färg och köra JPG *skäms*....tur att Swec finns.
De PNG-bilder jag gjort ligger på mellan 200-500kb.

edit, vilka webbläsare kommer att få problem om jag kör CSS3?

IE 7-8, Opera Mini 5.0-7.0.

EDIT. Såklart finns det äldre webbläsare som inte stödjer border-radius men det finns i stort sätt ingen mening med att stödja dem.
Känner du dig tvungen att t.ex stödja IE7-8 så kan du alltid använda dig av pollyfills.

Visa signatur

| i7 920 | UD5 | 6GB | 3TB | Intel SSD 80GB | Antec P182 |
http://webbutveckla.nu - Blogg om webbutveckling

Permalänk
Medlem
Skrivet av Marie96:

Tänkte inte ens på att de faktiskt ligger på en enfärgad bakgrund, och att jag därmed kan ha hörnen i samma färg och köra JPG *skäms*....tur att Swec finns.
De PNG-bilder jag gjort ligger på mellan 200-500kb.

edit, vilka webbläsare kommer att få problem om jag kör CSS3?

http://caniuse.com/

Skriv bara in det CSS-property du undrar om i sökrutan (eller klicka i listan) så får du kompitabilitetsinformation och kända problem.

Just border-radius på bilder fungerar fr.o.m. IE9 om mitt minne fungerar som det ska.

Visa signatur
Permalänk
Medlem
Skrivet av J_ajje:

IE 7-8, Opera Mini 5.0-7.0.

EDIT. Såklart finns det äldre webbläsare som inte stödjer border-radius men det finns i stort sätt ingen mening med att stödja dem.
Känner du dig tvungen att t.ex stödja IE7-8 så kan du alltid använda dig av pollyfills.

Skrivet av Mest:

http://caniuse.com/

Skriv bara in det CSS-property du undrar om i sökrutan (eller klicka i listan) så får du kompitabilitetsinformation och kända problem.

Just border-radius på bilder fungerar fr.o.m. IE9 om mitt minne fungerar som det ska.

Tack! "Ska" man se till att stödja äldre webbläsare än IE9? Känns som den varit ute i evigheter. Det här är en webbsida som vänder sig till en icke datorintresserad publik. Samtidigt har jag använt mig av HTML5 rakt igenom, med tex header och footer taggar, det kanske också skiter sig?

Visa signatur
Permalänk

Är väl fortfarande typ 50% som sitter med Win XP, och då är de ju fast i max IE8.

Permalänk
Medlem
Skrivet av Mest:

PNG komprimerar inte bilder ö.h.t. och idealet för i stort sett alla fotografiska bilder på webben är att spara i JPG och komprimera till, säg, 50%.

Helt fel, PNG komprimerar bilddata med DEFLATE algoritmen. Jämför själv en BMP (där storleken endast beror på antal pixlar och bit-djup) med PNG så ser du att vissa bilder blir ordentligt komprimerade.

Permalänk
99:e percentilen
Skrivet av Mest:

PNG komprimerar inte bilder ö.h.t.

Jo, det gör det, dock utan att förlora kvalité. Jag gjorde en 512x512 bild som jag fyllde helt röd. Om man sparar den helt okomprimerat, t ex med BMP, så blir den 768 KiB, medan den bara blir 4,11 KiB i PNG, alltså nästan 200 gånger mindre.

PNG är alltså väldigt lämpligt att använda till bilder med få färger och "stora" områden med samma färg. Man bör använda PNG till bilder som ska utgöra en del av sajtens layout.

Nu när vi pratar foton har du helt rätt i att man inte bör använda PNG (pga att det i princip inte komprimerar foton alls), men det ovan citerade påståendet är fel.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem
Skrivet av beh:

Helt fel, PNG komprimerar bilddata med DEFLATE algoritmen. Jämför själv en BMP (där storleken endast beror på antal pixlar och bit-djup) med PNG så ser du att vissa bilder blir ordentligt komprimerade.

Skrivet av HurMycket:

Jo, det gör det, dock utan att förlora kvalité. Jag gjorde en 512x512 bild som jag fyllde helt röd. Om man sparar den helt okomprimerat, t ex med BMP, så blir den 768 KiB, medan den bara blir 4,11 KiB i PNG, alltså nästan 200 gånger mindre.

Självklart komprimeras bilden, det är jag som talar i slarvig folkmun där "komprimering" = "kvalitetsförlust".

Skrivet av Marie96:

Tack! "Ska" man se till att stödja äldre webbläsare än IE9? Känns som den varit ute i evigheter. Det här är en webbsida som vänder sig till en icke datorintresserad publik. Samtidigt har jag använt mig av HTML5 rakt igenom, med tex header och footer taggar, det kanske också skiter sig?

Ska är ett starkt ord. Personligen tycker jag inte att man ska stödja gamla webbläsare; det finns ingen anledning att uppmuntra långsam utveckling, men i verkligheten så är det självklart bra att stödja så långt bak man kan. Använd t.ex. html5shim, selectivizr och liknande polyfills för att fejka stöd för mycket nyheter i äldre webbläsare.

Skrivet av sharpless:

Är väl fortfarande typ 50% som sitter med Win XP, och då är de ju fast i max IE8.

Nja, jag vet inte hur många som sitter med XP men IE8 uppskattas till ~10% av internetanvändare.

Visa signatur
Permalänk
Testpilot
Skrivet av Mest:

Nja, jag vet inte hur många som sitter med XP men IE8 uppskattas till ~10% av internetanvändare.

Jag skulle säga att det beror på vem sidans målgrupp är. Om man riktar sig till företag tror jag det är bra att se till att IE8 stöds då många företag fortfarande sitter kvar med Windows XP, vi gör det exempelvis på mitt jobb där vi är flera tusen anställda.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem

Ok, som det verkar har jag 2 alternativ: antingen göra bilderna i JPG med hörn i bakgrundsfärgen- nackdelen blir då att den dan man vill byta bakgrundsfärg får man extrajobb + något merjobb vid bildbearbetningen från börja+ att hörnen blir fulare. Eller göra raka hörn på bilderna och runda av dem med CSS3, nackdel: stödet i gamla webbläsare.
Jag kör nog på CSS3 iaf, sidan riktar sig till privatpersoner, och de ~10% som sitter med äldre IE får klara sig med raka hörn...

Visa signatur
Permalänk
Medlem
Skrivet av Marie96:

Ok, som det verkar har jag 2 alternativ: antingen göra bilderna i JPG med hörn i bakgrundsfärgen- nackdelen blir då att den dan man vill byta bakgrundsfärg får man extrajobb + något merjobb vid bildbearbetningen från börja+ att hörnen blir fulare. Eller göra raka hörn på bilderna och runda av dem med CSS3, nackdel: stödet i gamla webbläsare.
Jag kör nog på CSS3 iaf, sidan riktar sig till privatpersoner, och de ~10% som sitter med äldre IE får klara sig med raka hörn...

Kör på CSS3! Helt klart det bästa alternativet. Och som du säger så är det ingen större fara om vissa får raka hörn. Så länge innehållet presenteras likvärdigt så spelar det mindre roll om webbplatsens utseende skiljer sig lite mellan olika webbläsare.

Kör på!

Visa signatur

| i7 920 | UD5 | 6GB | 3TB | Intel SSD 80GB | Antec P182 |
http://webbutveckla.nu - Blogg om webbutveckling

Permalänk
99:e percentilen
Skrivet av Mest:

Självklart komprimeras bilden, det är jag som talar i slarvig folkmun där "komprimering" = "kvalitetsförlust".

Vet man inte det så är det lätt att tro att det verkligen är så att PNG inte komprimerar överhuvudtaget. Jag påpekade det för att ingen ska lära sig något som är fel.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
99:e percentilen
Skrivet av Marie96:

Ok, som det verkar har jag 2 alternativ: antingen göra bilderna i JPG med hörn i bakgrundsfärgen- nackdelen blir då att den dan man vill byta bakgrundsfärg får man extrajobb + något merjobb vid bildbearbetningen från börja+ att hörnen blir fulare. Eller göra raka hörn på bilderna och runda av dem med CSS3, nackdel: stödet i gamla webbläsare.
Jag kör nog på CSS3 iaf, sidan riktar sig till privatpersoner, och de ~10% som sitter med äldre IE får klara sig med raka hörn...

Jag tycker att du ska bidra till utfasningen av antika webbläsare genom att strunta i stöd för dem. Ju fler sajter som ser sämre ut i IE –8 desto lättare är det att övertala bakåtsträvande personer att kasta ut IE.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem

Jag hade sett till att ha bakåtkompatibilitet för en version tillbaka på webbläsare. Se till att ha en analystjänst också så att du kan se om en viss webbläsarversion är ganska högt representerad, för då kan det vara läge att kika och se så att den verkligen fungerar.

Permalänk
Medlem
Skrivet av jocke92:

Jag hade sett till att ha bakåtkompatibilitet för en version tillbaka på webbläsare. Se till att ha en analystjänst också så att du kan se om en viss webbläsarversion är ganska högt representerad, för då kan det vara läge att kika och se så att den verkligen fungerar.

Jo, det låter som en smart grej.
Sen måste det väl också bero på vad det är för grej man går miste om på sidan. Här handlar det ju om att antingen få raka eller avrundade hörn. Det måste vara värre att tex inte höra en låt pga en audiotagg som inte stöds, eller något sånt.

Visa signatur
Permalänk
Medlem

Jag skulle ha gjort bilderna i JPG (Save for web) och sen använt CSS border-radius.

Dock skulle jag även ha kört ett javascript om personen använder IE8 eller tidigare, för att då lägga på en "ram/overlay" som består av en stor transparent PNG bild som har 4 rundande vita trianglar i hörnen.

På så vis får alla besökare samma layout, men sidan laddar lite långsammare för IE8 och tidigare första gången (Efter det är nog ramen cachad)

Edit: Om man vill slippa javascript kan man bara ladda annan/extra CSS för IE8 eller tidigare och låta en DIV få en bakgrundsbild, med samma metod.

Permalänk
Medlem
Skrivet av Ernesto:

Jag skulle ha gjort bilderna i JPG (Save for web) och sen använt CSS border-radius.

Dock skulle jag även ha kört ett javascript om personen använder IE8 eller tidigare, för att då lägga på en "ram/overlay" som består av en stor transparent PNG bild som har 4 rundande vita trianglar i hörnen.

På så vis får alla besökare samma layout, men sidan laddar lite långsammare för IE8 och tidigare första gången (Efter det är nog ramen cachad)

Edit: Om man vill slippa javascript kan man bara ladda annan/extra CSS för IE8 eller tidigare och låta en DIV få en bakgrundsbild, med samma metod.

Jag vet inte hur det skulle funka i mitt fall, du får gärna ge mig tips. Sidan har nu fått en gradient bakgrundsfärg från ljusgrönt till vitt, eftersom bilderna är på olika höjd i det gradienta skulle hörnen behöva vara i olika färger? Resizar en sån här overlaysbild?

Visa signatur