大家好我需要帮助python枕头。 我目前正在使用v2.3.0和python 3.3。
我正在尝试将从旧游戏(Might and Magic VI)中提取的pcx图像用作纹理。 (游戏在3D环境中具有2D UI。这个2D UI由各种内部格式和pcx文件组成。)
问题是其中一个pcx被枕头显示不正确。同时由EyeOfGnome图像查看器正确显示。 (GDK-PIXBUF) 枕头正确显示另一个pcx!
我的错误是什么意思? 坏图像具有像素颜色的“红移”。左边框有点红。 它就像一个“3D-ified”图像,它有点模糊,整体有点暗。
我希望它能够与游戏UI的其他部分组合,我不能像那样使用它。
我用十六进制编辑器打开了pcx文件,我在pcx-header中发现的主要区别是错误的有BYTE Palette [48];场完全空了。而另一个则有一些数据。 但它不是一个问题,因为其他观众正确地显示它。
struct PcxHeader
{
BYTE Identifier; // PCX Id Number (Always 0x0A) // 10
BYTE Version; // Version Number // 5
BYTE Encoding; // Encoding Format // 1
BYTE BitsPerPixel; // Bits per Pixel // 8
WORD XStart; // Left of image // 0
WORD YStart; // Top of Image // 0
WORD XEnd; // Right of Image // 319
WORD YEnd; // Bottom of image // 199
WORD HorzRes; // Horizontal Resolution // 320
WORD VertRes; // Vertical Resolution // 200
BYTE Palette[48]; // 16-Color EGA Palette
BYTE Reserved1; // Reserved (Always 0)
BYTE NumBitPlanes; // Number of Bit Planes // 1
WORD BytesPerLine; // Bytes per Scan-line // 320
WORD PaletteType; // Palette Type // 0
WORD HorzScreenSize; // Horizontal Screen Size // 0
WORD VertScreenSize; // Vertical Screen Size // 0
BYTE Reserved2[54]; // Reserved (Always 0)
};
这是测试代码的一部分。
def showpcx(fname):
img = Image.open(fname)
img.show()
showpcx("border1.pcx")
showpcx("border2.pcx")
此存档包含文件 https://db.tt/td291VTh