验证上传的图像DPI和尺寸是否可打印

时间:2011-01-31 20:34:58

标签: java javascript jquery image image-processing

我的网络应用程序要求用户上传自己的护照式照片。这张照片将用于生成多张图片:

  • 在应用程序中显示多种尺寸的网络头像(72 dpi)
  • 使用ID卡打印机(300 dpi)打印1“x1”面部照片的可打印图像
  • 可在标准打印机上报告的打印图像(300+ dpi)

我将使用基于jquery的图像裁剪工具(可能是JCrop),这样用户就可以选择面部周围的区域并忽略图像的其余部分。

是否有任何技术可确保上传的图像具有足够高的分辨率,以便可以打印到卡片打印机和尺寸至少为1“x 1”的普通打印机?

我的理解是EXIM dpi信息不可靠。我应该简单地验证它们在裁剪中选择的尺寸是否等于原始图像中的至少300x300像素?

最好在javascript或服务器(使用Java)上在客户端上处理这个问题吗?

1 个答案:

答案 0 :(得分:1)

好吧,如果你想确保图像分辨率足够大,以便能够以300dpi的高质量打印,你只需要确保用户选择的部分。

快速查看JCrop后,您可以轻松访问所选图像部分的坐标(使用showCoords())。

通过它,您可以了解所选图像部分的大小(以像素为单位)。它现在取决于你想用300dpi打印图像的大小。

因此,对于300dpi的美国信,它需要是2550x3300px。对于DIN A4,它将是2480x3508像素。

因此,从JCrop获得的坐标中,只需计算矩形尺寸的大小(以像素为单位),并检查它是否足够大,可以打印到300dpi所需的尺寸...

希望有帮助...

修改

如果你想确保图像是正确的,我的意思是它有一个面积可以填充大约80%的图像,你可以尝试使用使用OpenCV的python脚本... OpenCV已经提供了基本的面部检测算法。所以也许你可以通过面部检测算法运行上传的图像,然后说明它是否包含面部......