Magicknet Get и SET разрешение изображения (PPI)
Я использую Magicknet для работы с изображениями в моем проекте ASP.NET. Как я могу получить и установить разрешение изображения? - Когда я изменяю размер изображения 300 пикселей / дюйм, по-видимому, по умолчанию получается изображение 72 пикселей / дюйм, и, поскольку я сохраняю тот же размер, я получаю изображение очень низкого качества. Поэтому я должен быть в состоянии поддерживать ppi изображения.
Я также хочу добавить, что это может привести к появлению magicknet или System.Drawing.Image, но я не уверен на 100%.
Код, который я использую:
img.ModulusDepth = 10;
img.Compression = CompressionType.JPEGCompression;
img.Quality = 80;
string optimizedImage = System.Web.HttpContext.Current.Server.MapPath(".") + "\\temp\\" + Guid.NewGuid().ToString() + ".jpg";
img.Write(optimizedImage); // save optimized image as temp file
Magick.Term();
System.Drawing.Image tempimage = System.Drawing.Image.FromFile(optimizedImage); // load the optimized image into an image objec
Из того, что я прочитал здесь, по умолчанию ias 72 пикселей на дюйм.
Спасибо
2 ответа
Используйте класс MagickImageDensity
свойство.
Бывший.:
magickImageObj.Density = new Density(150, DensityUnit.PixelsPerInch);
Класс Density имеет несколько других перегрузок конструктора.
DPI изображения совершенно не имеет значения в веб-контексте; это настройка метаданных, игнорируемая всеми браузерами и почти всеми принтерами.
Пиксели - это единицы, с которыми вы должны работать; DPI - это дырявая абстракция, которая обрабатывается по-разному в каждой библиотеке и пользовательском интерфейсе.
Вы также можете рассмотреть возможность использования безопасной для сервера альтернативы Magicknet.