我想为我的妻子编写一个小编织程序。在其中,我还将读取 * .stp 文件(针迹图案)。这些是包含由 DesignaKnit 程序创建的图形的小文件,其中许多是 Internet 上的文件。(示例 z. B. 到http://www.stricknetz.net/muster/dateien/)。要阅读它,我当然需要格式。因为我在任何地方都找不到它,所以我试图破译。我找到了很多,但现在还没有取得进展,希望能有所帮助。
这是我发现的:
Byte 0-2: D7C
Byte 3-4: width
Byte 5-6: Height
Byte 7-8: width
Byte 9-10: Height
Byte 11-12: number of pattern repeats Horizontal
Byte 13-14: Number of vertical pattern repeats
Byte 44: 'Knitting technique:
'0 = different - see the pattern ????
'1 = marquetry
'2 = 2-color jacquard
'3 = 3-color jacquard
'4 = 4-color jacquard
'12 = Handstrick
'14 = Structure pattern right side
'15 = Textured pattern left
Byte 177-209: Font name - padded with 0 (209 = End 0)
248-249 = height (number of rows)
250-251 = size image data in bytes
252 - (252 + image data size) = image data - (somehow RLE - compressed)
Then: 2 bytes = height (number of rows or number ???)
then 2 bytes Size of data
then ending bytes
then unknown data
then pallet (48 colors - if color is not used to zero)
Color 1 = 25 bytes
Byte 0: number?
Byte 1: message numbers
Byte 3: Number
Byte 6-8: RGB color
Byte 9: Length Color Name
Byte 10-24: color name with a final 0 (at length 15 without 0)
但我坚持使用数据的 RLE 编码。它们以某种方式经过特殊编码。数字(对于相同颜色的数字,但对于范围内的数字)重复切换。z。B.
00h 05h 21h 00h 22h 02h 29h 0Ch
Color 1 | 2 Color | Color 1 | 2 Color | Color 1 | 2 Color | Color 1 | Colour 2 | etc.
因此,托盘中的位置不断变化(或重新计算 - 例如示例中的颜色 1。00h、21h、22h、29h ...)
但 RLE 编码字节中相同颜色像素的数量不断变化。所以 2 是相同颜色的像素,一次是 B3h,然后是 B9H,然后是 B9H,然后是 B4h 等等。在测试中我发现它与位置 35h(十进制 53)的任何字节相连。但我不来。我试图查看他们可以使用 IDA 读取文件的程序(SilverKnit Utility (www.silverknit.nl/download/) -。但由于我不会说汇编程序,我不明白也许有人可以帮我解决 STP 之谜来解决文件(如果可能的话)??????????????????
阿尔弗雷德