编程语言
首页 > 编程语言> > 如何使用c#查看程序中的图像质量?

如何使用c#查看程序中的图像质量?

作者:互联网

我想查看照片是否适合打印或不使用我的应用程序.我怎么能这样做?我对照片质量了解不多?每张照片的分辨率是否相同?

解决方法:

我认为,您可以确定地检查打印质量的唯一因素(因为其他因素是主观的)是图像的分辨率与预期的打印尺寸.如果您有其他有形要求,例如图像必须是彩色,而不是黑白,您也可以检查.但是,尝试识别图像是否过于模糊,低对比度等,可能是一种徒劳无功的追求,因为您永远不知道图像是否是这样的.

一个常见的经验法则是,打印时每英寸应至少有240个点,而300则更好.当然,对于高质量的打印机,更高的分辨率可以产生更好的效果,如果你打印非常高的细节,如精细文本,你可能想要达到600dpi及以上.

因此,要使用240 dpi的最小数字打印8“x 10”图像,您需要的图像至少为1920 x 2400像素(总共4,608,000像素,或约4.5百万像素).

如果您在打印8“x 10”时决定要至少300dpi,则需要至少2400 x 3000像素的图像,大约为7百万像素.

加速到600dpi?在这种情况下,你需要大约2800万像素的图像.

例:

using System;
using System.Drawing;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int minimumPrintDpi = 240;
            int targetPrintWidthInches = 8;
            int targetPrintHeightInches = 10;
            int minimumImageWidth = targetPrintWidthInches * minimumPrintDpi;
            int minimumImageHeight = targetPrintHeightInches * minimumPrintDpi;

            var img = Image.FromFile(@"C:\temp\CaptainKangaroo.jpg");

            Console.WriteLine(string.Format("Minimum DPI for printing: {0}", minimumPrintDpi));
            Console.WriteLine(string.Format("Target print size: width:{0}\" x height:{1}\"", targetPrintWidthInches, targetPrintHeightInches));
            Console.WriteLine(string.Format("Minimum image horizontal resolution: {0}", minimumImageWidth));
            Console.WriteLine(string.Format("Minimum image vertical resolution: {0}", minimumImageHeight));
            Console.WriteLine(string.Format("Actual Image horizontal resolution: {0}", img.Width));
            Console.WriteLine(string.Format("Actual Image vertical resolution: {0}", img.Height));
            Console.WriteLine(string.Format("Actual image size in megapixels: {0}", ((float)img.Height * img.Width) / 1000000));
            Console.WriteLine(string.Format("Image resolution sufficient? {0}", img.Width >= minimumImageWidth && img.Height >= minimumImageHeight));
            Console.WriteLine(string.Format("Maximum recommended print size for this image: width:{0}\" x height:{1}\"", (float)img.Width / minimumPrintDpi, (float)img.Height / minimumPrintDpi));

            Console.ReadKey();
        }
    }
}

标签:c,resolution,photography
来源: https://codeday.me/bug/20190701/1343174.html