使用php和GD打印质量图像

Dav*_*vid 3 php gd image image-processing

我需要拍一张有人通过表格上传的照片,调整大小,与高分辨率的帧@ 300dpi合并并保留所有@ 300dpi,以获得最佳的打印质量.

是否有可能通过GD处理高分辨率图像,如果是这样,你能提供一些有关如何处理的信息吗?我有代码已经进行了大小调整和合并,但我不确定它是否能以正确的dpi工作.

谢谢

Pek*_*ica 7

它基本上是可能的:只需使用适当数量的像素.(该dpi单元在数字成像中没有意义,它仅用于将数字[像素]图像转换为物理格式).

例:

11 x 8 inch canvas @300 dpi = 3300 x 2400 pixels 
Run Code Online (Sandbox Code Playgroud)

但是,你需要足够的内存来处理这么大的图像.经验法则是

needed bytes = width x height x 3 (or 4 if alpha-channels are used)
Run Code Online (Sandbox Code Playgroud)

如果复制或调整大小,此要求会增加,因为脚本需要在内存中保留多个副本.

你需要一个非常慷慨的memory_limit环境才能工作.

另请注意,GD只能处理RGB图像.

对于大图像和CMYK数据,如果您可以在服务器上使用ImageMagick,它可能是更好的选择.