PixelToNewDpi

ConvertUtil.PixelToNewDpi method

Konverterar pixlar från en upplösning till en annan.

public static int PixelToNewDpi(double pixels, double oldDpi, double newDpi)
ParameterTypBeskrivning
pixelsDoubleVärdet att konvertera.
oldDpiDoubleAktuell dpi (dots per inch) upplösning.
newDpiDoubleDen nya dpi-upplösningen (dots per inch).

Exempel

Visar hur man använder konvertera punkter till pixlar med standard och anpassad upplösning.

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

// Definiera storleken på den övre marginalen för detta avsnitt i pixlar, enligt en anpassad DPI.
const double myDpi = 192;

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

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

// Vid standard DPI på 96 är en pixel 0,75 poäng.
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.");

// Ställ in en ny DPI och justera toppmarginalvärdet därefter.
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");

Se även