Skip to content

Оптимізація зображень для сайту на C#

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Завантаження...

[ Полезный рекламный блок ]

Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.


У цій статті розглянемо, як виконується оптимізація зображень сайту на C#, використовуючи бібліотеку Magick.NET.

Я очікую від вас мінімальні знання концепцій Entity Framework Core, тому в деяких місцях, вдаватися в подробиці не стану.

Створення проекту

Відкрийте Visual Studio 2022.

Створіть проєкт “Asp.Net Core Web Application(.Net Core)” із шаблоном MVC Template. У графі “Authentication type” залишаємо значення None.

  1. Відкриємо пакет NuGet і завантажимо бібліотеку Magick.NET-Q16-AnyCPU:

Оптимизация изображений в c#

Так само можете завантажити через Package Manager Console:

  1. Змінимо подання Home/Index.cshtml, таким чином:

За допомогою цього подання, ми зможемо здійснювати завантаження зображення. Завдяки встановленню атрибута форми enctype=”multipart/form-data” браузер знатиме, що разом із формою треба передати файл.

  1. Для зберігання завантажених файлів створимо в проекті в каталозі wwwroot папку Files.

загрузка изображения в c# asp.net core

  1. Тепер визначимо в контролері HomeController дію LoadFile, яка буде завантажувати переданий файл:

Після успішного завантаження файлу, наразі виконуємо перенаправлення користувача на головну сторінку.

  1. Настав час виконати стиснення завантаженого зображення, для цього в контролері Home визначимо метод CompressImage:

Властивість Format дає змогу змінити формат зображення, ми залишаємо початковий. Властивість Quality – задає рівень стиснення зображення, чим менше значення, тим менший розмір зображення, але тим гірша його якість. Поекспериментуйте і підберіть оптимальне значення для себе. За допомогою методу:

виконуємо перезапис зображення.

  1. Для простоти прикладу, після завантаження зображення, будемо виконувати його стиснення і повертати клієнту, для цього трохи змінимо код контролера Home:

Було додано новий метод GetVirtualFile, який повертає файл за віртуальним шляхом. Важливо враховувати, що за замовчуванням усі шляхи до файлів у даному випадку будуть зіставлятися з папкою wwwroot. Тобто нам треба поміщати папки з файлами або окремі файли в каталог wwwroot.

Підсумок

Готово, запустіть проєкт і перевірте його роботу, переконайтеся, що завантажене зображення зменшилося в розмірі.

Оптимизация изображений для сайта

У моєму випадку, за рівня стиснення в 70, розмір зображення зменшується на третину:

уменьшение размера изображения в c#

При цьому якість зображення не озброєним оком, не відрізнити. На цьому стаття “Оптимізація зображень для сайту на C#” підійшла до кінця, сподіваюся, вам було цікаво. Ви можете завантажити вихідний код у моєму репозиторії — Github.

Поділіться вашим досвідом у коментарях, як ви виконуєте оптимізацію зображень для вашого сайту?

Так само вам може бути цікава попередня стаття:

Магазин на Asp.Net Core MVC EF. Часть 1


Ви хочете навчитися писати код мовою програмування C#?

Створювати різні інформаційні системи, що складаються з сайтів, мобільних клієнтів, десктопних додатків, телеграм-ботів тощо.

Переходьте до нас на сторінку Dijix і ознайомтеся з умовами навчання, ми спеціалізуємося тільки на індивідуальних заняттях, як для початківців, так і для просунутих програмістів. Ви можете взяти як одне заняття для опрацювання питання, що вас цікавить, так і кілька, для більш щільної роботи. Завдяки особистому кабінету, кожен студент підвищить якість свого навчання, у вашому розпорядженні:

  • Доступ до пройденого матеріалу
  • Тематичні статті
  • Бібліотека книг
  • Онлайн тестування
  • Спілкування в закритих групах

https://dijix.com.ua

Живи у своєму світі, програмуй у нашому.


 

Published inМова програмування C#
Subscribe
Notify of
guest
0 комментариев
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x