如何形成适当的格式参数以使用PHP中的Unpack()方法读取特定位

问题描述 投票:-2回答:1

我正在从流中读取16位像素/彩色数据,每次使用2个字节

fread($dataStream, 2);

颜色数据的格式为“ BGR 565”,这意味着:-前5位保存蓝色通道的值-接下来的6位保留绿色通道的值-接下来的5位保留红色通道的值

在PHP中,我假设我可以使用Unpack()并向左和向右移动来读取每组位,但是对按位运算的了解太少,无法弄清。

$color = unpack('vblue/vgreen/vred',fread($dataStream, 2));

应该是这样,但可能左右移动?

我正在使用fread($ dataStream,2)从流中读取16位像素/彩色数据,每次读取2个字节;颜色数据的格式为“ BGR 565”,这意味着:-前5位保存蓝色的值...

php bit-manipulation bitwise-operators bit-shift unpack
1个回答
0
投票

好,所以我以最糟糕的方式砍掉了它。这对于尝试使用PHP解析BGR565像素格式的旧16位位图的人可能会有所帮助。可能有一种使用GD或ImageMagick的简便方法。

© www.soinside.com 2019 - 2024. All rights reserved.