Понимание DPI (точек на дюйм) и методов работы с DPI в программировании

DPI означает «точек на дюйм». Это измерение, используемое для количественной оценки разрешения изображения или качества печати на принтере. DPI — это количество точек (пикселей), которые можно разместить на расстоянии одного дюйма.

Вот несколько способов работы с DPI на разных языках программирования:

  1. Python:

    from PIL import Image
    def get_image_dpi(image_path):
       with Image.open(image_path) as img:
           return img.info['dpi']
    dpi = get_image_dpi('image.png')
    print(f"DPI: {dpi}")
  2. C#:

    using System.Drawing;
    public static float GetImageDpi(string imagePath)
    {
       using (var img = Image.FromFile(imagePath))
       {
           var dpiX = img.HorizontalResolution;
           var dpiY = img.VerticalResolution;
           return dpiX; // or dpiY
       }
    }
    float dpi = GetImageDpi("image.png");
    Console.WriteLine($"DPI: {dpi}");
  3. Java:

    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    public static int getImageDpi(String imagePath) throws IOException {
       BufferedImage img = ImageIO.read(new File(imagePath));
       return img.getDPI();
    }
    int dpi = getImageDpi("image.png");
    System.out.println("DPI: " + dpi);
  4. JavaScript (браузер):

    const img = new Image();
    img.onload = function() {
       const dpiX = img.width / (document.getElementById('element-width-in-inches') * 96);
       const dpiY = img.height / (document.getElementById('element-height-in-inches') * 96);
       console.log(`DPI: ${dpiX} (X-axis) ${dpiY} (Y-axis)`);
    };
    img.src = 'image.png';