Low image quality when downscaling
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 4.1k
- Fork
- 348
- Merge medio
- 1g 14h
- PR unite (30g)
- 3
Descrizione
The use case is a PNG image which is base64-encoded and embedded in the SVG in an `` tag. In the attached example, the original image is 160x160, and scaled down to 49x49 in the SVG markup.

The rendered image (resvg-rendered-49px.png) quality is degraded, especially on the curves.

When defining the dimensions as 160x160 in the SVG markup, the rendered image (resvg-rendered-160px.png) quality is great. And when including that image on an HTML page and re-scaling in the HTML markup, `
`, the image quality remains crisp.

We also tried setting the `image-rendering` attribute for `OptimizeQuality`, but the improvement was negligible.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/image-rendering
Is is correct that Bicubic interpolation is being used? Do you have any guidance for improving image quality, and/or are there plans for other interpolation options?
Processing this same image with various interpolation filters in `ImageSharp` (e.g. Lanczos, MitchellNetravali, etc.) does produce a high quality result.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia riproducendo il caso allegato: un PNG base64 160x160 incorporato in un’immagine SVG e renderizzato a 49x49, quindi confrontalo con il rendering 160x160 ridimensionato in HTML. Verifica l’effetto di image-rendering="OptimizeQuality" e il comportamento dell’interpolazione. Il lavoro è completo quando l’immagine SVG ridimensionata presenta una qualità delle curve visibilmente migliore oppure vengono documentati i limiti dell’interpolazione supportata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- computer-graphics
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100