Perché convertire di default PNG in JPG?

Comprendo pienamente (e apprezzo!) che questa sia esposta come impostazione del sito per gli amministratori da attivare o disattivare, ma trovo che questa “funzionalità” sia in primo luogo molto fuorviante.

Ci sono due funzionalità estremamente importanti dei PNG: la loro rappresentazione senza perdita (e leggibile!) del testo e il supporto per la trasparenza. Entrambi sono motivi importanti per utilizzare i PNG. Come utente di un sito Discourse, ho caricato un’immagine (di testo con trasparenza) sulla mia bacheca e sono rimasto molto deluso nel vederla convertita automaticamente in JPG. Non importa, la ospiterò semplicemente altrove. Bene, questo ha funzionato perfettamente fino a quando @system non è intervenuto, ha scaricato e convertito la mia immagine e modificato il mio post sotto i miei occhi, rompendo la trasparenza e peggiorandone l’aspetto. Per fortuna sono anche un amministratore e sono riuscito a cercare sul web uno dei thread qui sotto che mi ha guidato verso l’impostazione png to jpg quality che potevo modificare.

Al minimo, sembra prudente disattivare questa funzionalità se è presente trasparenza nel GIF.

Le persone apprezzano davvero questa funzionalità sulle loro bacheche? È stata sollevata in precedenza due volte, entrambe con utenti confusi/frustrati perché i PNG venivano convertiti. Sembra utile rivalutare questa impostazione predefinita.

3 Mi Piace

Questo significa che l’immagine era molto più piccola in formato JPG. Credo che ci siano impostazioni del sito per regolare questa soglia. Dai un’occhiata e cerca tra le impostazioni del tuo sito.

4 Mi Piace

In Impostazioni/File, scorri verso il basso fino al terzo elemento dal basso. Deseleziona Rimuovi metadati delle immagini. Appena sopra si trova la voce qualità da png a jpg. Regola l’impostazione se necessario.

5 Mi Piace

Sì, capisco perfettamente che sia configurabile (l’ho già disattivato sul mio sito) e comprendo la motivazione. Tuttavia, ritengo che la funzione in sé sia fuorviante e che avrebbe senso cambiare l’impostazione predefinita.

Ecco un esempio: i PNG sono il formato predefinito per gli screenshot e a ragione. Se faccio semplicemente uno screenshot di questa finestra e provo a caricarlo, viene convertito in JPG.

Il file originale era di 361 KB, il tuo JPG compresso è di 218 KB. Certo, è più piccolo, ma abbiamo anche perso la trasparenza: per chi usa un tema scuro l’aspetto è terribile e ci sono artefatti intorno al testo.

Se, invece, uso optipng in locale per ottimizzare il PNG, ottengo un file con trasparenza e testo nitido che pesa solo 219 KB. Ora, quando lo carico, rimarrà un PNG:


La conversione da PNG a JPG è molto distruttiva. È una cosa farlo al momento del caricamento; è un’altra ancora modificare i post per applicarlo automaticamente alle immagini esterne dopo la pubblicazione. Esistono altri modi per risparmiare larghezza di banda e spazio di archiviazione, inclusi ottimizzatori PNG e persino il ridimensionamento (con la funzione “clicca per visualizzare a dimensione intera”, sembra sensato incorporare nell’articolo l’immagine più piccola e mostrare quella a dimensione intera solo al clic).

4 Mi Piace

È un equilibrio delicato.

Ci sono molti argomenti di persone che cercano di ospitare i propri forum al costo più basso possibile e si lamentano del fatto che le immagini occupino troppo spazio. Questo tipo di amministratore non si preoccupa della qualità delle immagini; tutto ciò che vogliono è tagliare ogni angolo e ridurre i costi.

Dall’altra parte dello spettro ci sono persone che sono davvero impegnate con le loro comunità e utilizzeranno l’archiviazione di oggetti, riuscendo a fornire una buona qualità a costi ragionevoli.

La discussione qui riguarda le impostazioni predefinite, giusto? O forse potremmo provare a misurare la dimensione del file JPG rispetto all’ottimizzazione dei post PNG? Se ricordo correttamente, l’ottimizzazione PNG può essere piuttosto costosa…

9 Mi Piace

Non vincerai questa discussione, amico mio. Meglio fermarti ora. L’impostazione del sito esiste proprio per consentirti di personalizzarla a tuo piacimento.

2 Mi Piace

Eliminare questa funzionalità non è in programma. Ma questo post sembra interessante:

Cosa servirebbe affinché Discourse provi prima a usare optipng e poi utilizzi la dimensione risultante “ottimizzata” per decidere se passare al JPG? O sarebbe troppo lento?

4 Mi Piace

Prova a eseguire optipng su un PNG 6000x6000 e vedi cosa succede. Noi già applichiamo una forma di questa procedura, ma l’algoritmo crolla rapidamente. E in modo davvero grave.

5 Mi Piace

Non ho assolutamente l’intenzione di eliminare questa funzionalità — scusa se sono stato eccessivamente enfatico definendola una funzionalità indesiderata. Si tratta delle impostazioni predefinite. Ho semplicemente trovato il comportamento sorprendente e poco utile (specialmente dopo averlo aggirato con un link esterno e averlo visto modificato automaticamente). Sono quindi venuto qui perché pensavo che sarebbe stato utile per gli altri se l’impostazione predefinita fosse diversa… ma come per tutte le scelte predefinite, le preferenze soggettive sui compromessi entrano rapidamente in gioco.

Grazie per il post ben argomentato, Rafael. Apprezzo la discussione — come ho detto inizialmente, chiedevo sinceramente se a tutti piacesse questa funzionalità.

3 Mi Piace

Penso che sarebbe interessante passare da .jpg a .webp: è senza perdita di qualità e comunque più piccolo di .png.

La mia comprensione è che sia il nuovo standard web da utilizzare per i media, in particolare per le immagini in cui è desiderabile la trasparenza.

3 Mi Piace

Non possiamo farlo perché i browser più vecchi o incompatibili (IE e Safari) non lo supportano.

10 Mi Piace

In questo momento odio Safari, ma grazie per la risposta veloce. Spero che il supporto arrivi presto.

Soprattutto perché IE11 diventerà sempre meno importante col passare del tempo.

2 Mi Piace

Vale la pena dire che la scelta attuale di impostare il JPEG ottimizzato come predefinito non è affatto sbagliata! Io amo i PNG :smile_cat: e detesto i JPG :grumpycat: per le grafiche, ma per questa questione sostengo pienamente l’attuale regime (in entrambi i sensi: autorità e sistema).

Il team di Discourse ha fatto una valutazione realistica di ciò che renderà Discourse funzionante subito dopo l’installazione:

  • Il proprietario-amministratore medio di un sito non cercherà opzioni relative alla qualità delle immagini. La qualità delle immagini non è un suo obiettivo e non considererà il formato predefinito dei file immagine come un problema. Quindi, impostare come predefinito il JPG ottimizzato genera meno problemi e offre il maggior beneficio alla maggior parte delle persone.

  • Gli appassionati di PNG come me sono sempre alla ricerca di opzioni sul sito per preservare la qualità e le informazioni delle immagini. Allo stesso modo, i siti basati su foto e immagini avranno la qualità delle immagini come decisione centrale.

Una conseguenza pratica dell’approccio attuale sarà probabilmente una transizione senza soluzione di continuità verso il WebP con perdita di qualità. A quel punto, probabilmente sorgerà la questione del WebP con perdita di qualità rispetto a quello senza perdita in ulteriori discussioni qui. :laughing:

Se avete mai ottimizzato molti file PNG, saprete che il risultato è spesso poco attraente. Gli ottimizzatori di PNG impiegano ore rispetto a quelli per JPG. Inoltre, è necessario più know-how per creare immagini PNG che possano essere ottimizzate in modo efficace, ad esempio https://medium.com/@duhroach/reducing-png-file-size-8473480d0476 o How To Optimize PNG — Smashing Magazine

5 Mi Piace

Una cosa che avremo alla fine è la possibilità per gli utenti di ottimizzare la propria immagine prima del caricamento.

Affidando il lavoro di compressione a un altro thread (utilizzando i web worker) e impiegando gli stessi algoritmi che usiamo sul server (tramite WASM), l’esperienza utente non è affatto negativa.

15 Mi Piace

Cosa ne penseresti di disabilitare questo comportamento se il PNG ha trasparenza? È la perdita più evidente nel processo di conversione.

4 Mi Piace

Sembra che sia rilevabile utilizzando

5 Mi Piace

Se dici al tuo programma di screenshot di smettere di inserire ombre proiettate, Discourse probabilmente smetterà di convertirle, perché saranno davvero testo e colori solidi.

5 Mi Piace

Oggi ho indagato su questo per un sito che desidera mantenere tutti i file PNG caricati nel formato PNG. Ho notato che, dopo aver impostato png to jpg quality a 100, Discourse continua a convertire i PNG di grandi dimensioni in JPG, a meno che anche l’impostazione recompress original jpg quality non sia impostata a 100. Si tratta del comportamento previsto? Se sì, la descrizione dell’impostazione recompress original jpg quality deve essere aggiornata per spiegare come influisce sui caricamenti di file PNG.

8 Mi Piace

Hmm, non sono sicuro, @sam, vuoi prendere quella decisione la prossima settimana? Dovremmo almeno aggiornare i testi.

3 Mi Piace

Non sono sicuro… mi affido a @zogstrip per questo…

4 Mi Piace