如何读取PICT图像文件的宽度和高度?

时间:2013-01-08 02:48:03

标签: c# .net mono

给定PICT图像文件(文件格式的任一版本),如何从标题数据中读取宽度和高度?

例如,这是我为GIF文件确定此信息的方式:

using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) {
    int c1 = fs.ReadByte();
    int c2 = fs.ReadByte();
    int c3 = fs.ReadByte();

    if (c1 == 'G' && c2 == 'I' && c3 == 'F') {
        fs.Seek(3, SeekOrigin.Current);
        width = ReadInt(fs, 2, false);
        height = ReadInt(fs, 2, false);
        return true;
    }
}

// Signature for ReadInt:
// int ReadInt(FileStream fs, int bytes, bool bigEndian)

1 个答案:

答案 0 :(得分:2)

我相信你会发现PICT文件有一个512字节的标题,后跟文件大小和图像尺寸。

[Platform Header] - 512 byte
[File Size] - short
[Image Top Left x] - short
[Image Top Left y] - short
[Image Bottom Right x] - short
[Image Bottom Right y] - short

坐标以72 dpi存储。

知道这一点,你可以计算出图像的高度和宽度:)