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.

Другие вопросы по тегам