PixelToNewDpi

ConvertUtil.PixelToNewDpi method

Преобразует пиксели из одного разрешения в другое.

public static int PixelToNewDpi(double pixels, double oldDpi, double newDpi)
ПараметрТипОписание
pixelsDoubleЗначение для преобразования.
oldDpiDoubleТекущее разрешение dpi (точек на дюйм).
newDpiDoubleНовое разрешение dpi (точек на дюйм).

Примеры

Показывает, как использовать преобразование точек в пиксели с разрешением по умолчанию и пользовательским разрешением.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Определите размер верхнего поля этого раздела в пикселях в соответствии с пользовательским DPI.
const double myDpi = 192;

PageSetup pageSetup = builder.PageSetup;
pageSetup.TopMargin = ConvertUtil.PixelToPoint(100, myDpi);

Assert.AreEqual(37.5d, pageSetup.TopMargin, 0.01d);

// При значении DPI по умолчанию 96 пиксель равен 0,75 пункта.
Assert.AreEqual(0.75d, ConvertUtil.PixelToPoint(1));

builder.Writeln($"This Text is {pageSetup.TopMargin} points/{ConvertUtil.PointToPixel(pageSetup.TopMargin, myDpi)} " +
                $"pixels (at a DPI of {myDpi}) from the top of the page.");

// Установите новое значение DPI и соответствующим образом отрегулируйте значение верхнего поля.
const double newDpi = 300;
pageSetup.TopMargin = ConvertUtil.PixelToNewDpi(pageSetup.TopMargin, myDpi, newDpi);
Assert.AreEqual(59.0d, pageSetup.TopMargin, 0.01d);

builder.Writeln($"At a DPI of {newDpi}, the text is now {pageSetup.TopMargin} points/{ConvertUtil.PointToPixel(pageSetup.TopMargin, myDpi)} " +
                "pixels from the top of the page.");

doc.Save(ArtifactsDir + "UtilityClasses.PointsAndPixelsDpi.docx");

Смотрите также