sld文件格式的研究


utoCAD 幻燈片文件是由 MSLIDE 命令寫入並由 VSLIDE 命令讀取的屏幕圖像。 本節介紹幻燈文件的格式,以便於希望在程序中融入幻燈支持的開發人員進行開發。

幻燈文件由標題部分(31 字節)以及一個或多個可變長度的數據記錄組成。 寫入幻燈文件的所有坐標和大小都基於創建幻燈時顯示設備的圖形區,點 (0,0) 位於圖形區的左下角。 對於 AutoCAD R9 以及更高版本,幻燈文件標題由以下字段組成:

幻燈文件標題

字段

字節

說明

ID 字符串

17

“AutoCAD 幻燈片”CR LF ^Z NUL

類型標識符

1

當前設置為 56(十進制)

層指示器

1

當前設置為 2

高 X 點

2

圖形區域的寬度:1,以像素為單位

高 Y 點

2

圖形區域的高度:1,以像素為單位

寬高比

4

繪圖區域寬高比(以英寸為單位的水平尺寸/豎直尺寸),按 10,000,000 縮放。 通常以低位字節在前的方式寫入此數值

硬件填充

2

0 或 2(值不重要)

測試數字

2

一個數字(十六進制值 1234),用於確定是以高階字節在前的順序(適用於 Intel 8086 系列 CPU)還是以低階字節在前的順序(適用於 Motorola 68000 系列 CPU)寫入幻燈片中所有的雙字節值

標題后面是數據記錄。 每個數據記錄的開頭為雙字節的字段,其高位字節表示記錄的類型。 記錄的其余部分可由單字節或雙字節的字段組成,如下表所述。 要確定雙字節字段是以高階字節在前的順序還是以低階字節在前的順序寫入,請查看上表說明的標題的“測試數字”字段。

幻燈文件數據記錄

記錄類型

(十六進制)

 

字節

 

含義

 

說明

00-7F

8

矢量

普通矢量的 from-X 坐標。 並按照后面是 from-Y、to-X 和 to-Y 坐標的順序作為雙字節值。 from- 點保存為上一點

80-FA

未定義

保留以供將來使用

FB

5

偏移矢量

低階字節和其后的三個字節根據距保存的上一點的偏移量(-128 到 +127)來指定矢量的端點 (from-X,from-Y,to-X,to-Y)。 將經過調整的 from- 點保存為上一點,以供后續矢量使用

FC

2

文件結尾

低階字節為 00

FD

6

實體填充

低階字節始終為零。 后面的兩個雙字節值指定要進行實體填充的多邊形的一個頂點的 X 坐標和 Y 坐標。 會依次出現三到十個這樣的記錄。 Y 坐標值為負的實體填充記錄表示這種填充序列的開始或結束。 在起點記錄中,X 坐標指示要跟隨的頂點記錄的數目

FE

3

常用

端點

矢量

這是一個以上一點作為起點的矢量。 低階字節和其后的字節根據距保存的上一點的偏移量(-128 到 +127)來指定 to-X 和 to-Y。 將經過調整的 to- 點保存為上一點,以供后續矢量使用

FF

2

新建顏色

使用由低階字節指示的顏色號繪制后續矢量

只要幻燈片包含矢量,“新建顏色”記錄將是第一個數據記錄。 幻燈片中矢量的順序和這些矢量端點的順序可能會變化。

例如,以下是在安裝有 IBM 增強型圖形適配器的 IBM PC/AT 上創建的簡單幻燈文件的十六進制轉儲(標有注釋)。 幻燈片包含一條從繪圖區域左下角到右上角的白色對角線、一條位於左下角附近的綠色垂直線以及一個在左下角處的紅色小矩形。

41 75 74 6F 43 41 ID          字符串(“AutoCAD 幻燈片”CR LF ^Z NUL)
44 20 53 6C 69 64 
65 0D 0A 1A 00 
56                            類型標識符 (56)
02                            層指示器 (2)
3C 02                         高 X 點 (572)
24 01                         高 Y 點 (292)
0B 80 DF 00                   寬高比 (14,647,307 / 10,000,000 = 1.46)
02 00                         硬件填充 (2)
34 12                         測試數字 (1234 十六進制)
07 FF                         新建顏色(7 = 白色)
3C 02 24 01 00 00 00 00       從 572,292 到 0,0 的矢量。 (572,292) 成為“上一個”點
3 FF                          新建顏色(3 = 綠色)
0F 00 32 00 0F 00 13 00       從 15,50 到 15,19 的矢量。 \x1115,50 成為 “上一個”點
01 FF                         新建顏色(1 = 紅色)
12 FB E7 12 CE                從 15+18,50-25 (33,25) 到 15+18,50-50 (33,0) 的偏移矢量。50-50 (33,0). (33,25)成為“上一個”點
DF FE 00                      從 33,25 到 33-33,25+0 (0,25) 的公共端點矢量。(0,25). (0,25)成為“上一個”點
00 FE E7                      從 (0,25) 到 0+0,25-25 (0,0) 公共端點的矢量。(0,0). (0,0)成為“上一個”點
21 FE 00                      從 (0,0) 到 0+33,0+0 (33,0) 公共端點矢量。(33,0)成為“上一個”點
00 FC                         文件結尾







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM