Программно выбирающий формат преобразования изображения к JPEG или PNG для дисплея Silverlight

У меня есть проект, где я должен преобразовать большое количество типов изображения, чтобы быть визуализуемым в приложении Silverlight - TIFF, GIF, WMF, EMF, BMP, DIB, и т.д. Я могу сделать эти преобразования на сервере прежде, чем гидратировать приложение Silverlight.

Однако я не уверен, когда я должен принять решение преобразовать в который формат, или JPG или PNG. Есть ли некоторый стандарт там как TIFF, должен всегда быть JPEG, и GIF должен всегда быть PNG. Или, если BMP составляет 24 бита, он должен быть преобразован в JPEG - немного понижаются, и это может быть PNG. Или все - PNG и почему?

То, что я обычно вижу или вижу в ответ на этот тип вопроса, "Ну, если изображение является фотографией, пойдите с JPEG" или, "Если это имеет прямые линии, PNG лучше". К сожалению, я не буду иметь роскоши просмотра ни одних из файлов изображений вообще и хотел бы просто стандартный способ сделать это с помощью кода, даже если это будет огромным количеством условных операторов.

Есть ли какие-либо стандарты или лучшие практики вокруг этого предмета?

8
задан Community 23 May 2017 в 12:16
поделиться

3 ответа

Самая простая вещь, которая могла бы работать , - это «сохранять все детали» («100% качество»), т.е. всегда использовать PNG, а не JPEG.

Изображения PNG всегда выглядят идентично оригиналу (без потерь). Изображения JPG обычно выглядят примерно так же, как оригинал, но на некоторых изображениях (например, штриховых рисунках) JPG дает странные артефакты сжатия (с потерями).

  • Преобразование изображений JPEG в изображения PNG не помогает. Так что передавайте файлы JPEG напрямую без преобразования. Если файл-контейнер TIFF содержит изображение JPEG, извлеките его в файл стандартного формата JPEG; в противном случае, вероятно, лучше всего преобразовать этот файл TIFF в PNG.
  • рассмотрите возможность создания как файлов JPEG, так и файлов PNG; если файл JPEG «значительно» меньше, чем файл PNG, используйте файл JPEG.
  • . Emf и .wmf по своей сути являются векторной, а не растровой графикой. PNG лучше, чем JPEG для векторной графики, но лучше всего будет векторный формат файла. Можно ли использовать стандартный формат векторной графики (".svg")?
5
ответ дан 5 December 2019 в 21:17
поделиться

Одним из больших преимуществ JPG перед PNG является то, что JPG обеспечивает хороший баланс между размером изображения и качеством. Если размер файла не вызывает беспокойства, то, вероятно, лучше всего подойдет PNG, поскольку он предлагает большую гибкость, чем JPG. Однако это не совсем ответ на ваш вопрос.

1
ответ дан 5 December 2019 в 21:17
поделиться

Вы можете использовать сервис вроде Smush.it - он подскажет вам лучший оптимизированный формат для изображений и выполнит сжатие за вас.

Если я правильно помню, они выполняют все сжатия для каждого изображения, затем сравнивают результаты... возвращая лучший из набора.

1
ответ дан 5 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: