Php GD能否在渐进式JPEG中选择隔行扫描的深度?

Php GD能否在渐进式JPEG中选择隔行扫描的深度?,php,gd,jpeg,Php,Gd,Jpeg,我知道使用它可以创建一个渐进图像,但我需要知道是否有可能实际要求一个特定的渐进步骤。比如说,如果Jpeg文件是使用3级扫描创建的,我是否可以将其降级为2级或1级 在构建JPEG时,这似乎不是一件您可以实际控制的事情 发件人: 基线JPEG还支持渐进编码。顺序编码一次对单个块的系数进行编码(以之字形方式),而渐进编码一次对所有块的相似定位系数进行编码,然后是所有块的下一个定位系数,依此类推。因此,如果图像被划分为n8×8块{B0,B1,B2,…,Bn-1},则渐进编码对所有块的Bi(0,0)进行编

我知道使用它可以创建一个渐进图像,但我需要知道是否有可能实际要求一个特定的渐进步骤。比如说,如果Jpeg文件是使用3级扫描创建的,我是否可以将其降级为2级或1级

在构建JPEG时,这似乎不是一件您可以实际控制的事情

发件人:

基线JPEG还支持渐进编码。顺序编码一次对单个块的系数进行编码(以之字形方式),而渐进编码一次对所有块的相似定位系数进行编码,然后是所有块的下一个定位系数,依此类推。因此,如果图像被划分为n8×8块{B0,B1,B2,…,Bn-1},则渐进编码对所有块的Bi(0,0)进行编码,即,对于所有i=0,1,2,…,N-1。然后对所有块的Bi(0,1)系数进行编码,然后对所有块的Bi(1,0)系数进行编码,然后对所有块的Bi(2,0)系数进行编码,依此类推。这里应该注意,一旦所有相似的定位系数都被编码,下一个要编码的位置就是如中所示的锯齿形遍历中的下一个位置

根据描述,无法实际控制JPEG隔行扫描的性质。通过次数是标准和图像格式本身的一部分


它在中也同样不可控制,大多数标准中也明确指出了一个且只有一个隔行公式,但TGA除外,TGA有两个。Photoshop允许您选择渐进式JPEG上的扫描次数(3、4或5)

imageinterlace将$interlace值作为int而不是bool,这让我怀疑值>0是否不仅仅是启用它,而是选择扫描次数。手册没有确认这一点,但可能值得一试


此外,我不知道是否低于3或高于5存在扫描计数。在这种情况下,你会认为他们必须提到它,这样你就不会选择1作为值。。。但谁知道呢。我可以玩一下。

JPEG图像实际上不是隔行扫描的。渐进式JPEG允许您为每个8x8数据块分解DC系数和AC系数范围。这会细化数据,但每次扫描都适用于所有像素(与实际隔行扫描不同)

JPEG允许您指定逐行扫描图像的扫描次数。JPEG术语是“光谱选择”。对于AC系数,您还可以灵活地排序扫描

问题是JPEG在这里有如此多的灵活性,以至于很难创建一个编程或用户界面来允许您利用所有这些灵活性


每个组件必须至少进行2次扫描(否则将不会是渐进式的)。

您能列举一些程序,让您选择交错的深度吗?我以前从未见过这个选项。@Charles,据我所知不是这样,但我正在编写一个不允许实时流媒体的客户端软件,我只在完全下载时才能获得图像,错过了所有渐进阶段,因此,我需要知道是否可以手动下载每个深度。谢谢