嵌入式Linux軟件平臺系統(tǒng)設計說明書_第1頁
嵌入式Linux軟件平臺系統(tǒng)設計說明書_第2頁
嵌入式Linux軟件平臺系統(tǒng)設計說明書_第3頁
嵌入式Linux軟件平臺系統(tǒng)設計說明書_第4頁
嵌入式Linux軟件平臺系統(tǒng)設計說明書_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

面對行業(yè)手持設備的嵌入式Linux軟件平臺項目嵌入式Linux軟件平臺系統(tǒng)設計說明書編寫者: CY

版本說明日期版本號發(fā)布說明作者批準人簽字崗位目錄TOC\o"1-2"\h\z1 引言 11.1 編寫目的 11.2 背景 11.3 基線 11.4 范圍 11.5 定義 11.6 參考資料 12 總體設計 12.1 概述 12.2 設計思想 32.3 基本處理流程 62.4 產(chǎn)品的系統(tǒng)體系結構 82.5 功能需求與系統(tǒng)單元的關系 102.6 人工處理過程 113 系統(tǒng)主要數(shù)據(jù)結構說明 113.1 數(shù)據(jù)結構 113.2 數(shù)據(jù)結構與系統(tǒng)單元的關系 164 接口設計 164.1 外部接口 164.2 內部接口 175 運行設計 175.1 系統(tǒng)初始化 175.2 運行限制 175.3 運行結束 176 系統(tǒng)出錯處理設計 176.1 出錯信息 176.2 補救措施 177 系統(tǒng)維護設計 187.1 檢測點的設計 187.2檢測專用模塊的設計 188 尚待解決的問題 18附錄A:嵌入式中文字庫關鍵技術和算法 19glyph的矢量表示 19計算轉換系數(shù)scale 20附錄B:嵌入式中文字庫數(shù)據(jù)流程圖 21附錄C:全屏手寫系統(tǒng)結構圖 22附錄D:多媒體軟件移植系統(tǒng)流程圖 23引言編寫目的本文檔是為保證“面對行業(yè)手持設備的嵌入式linux軟件平臺”項目在整個開發(fā)過程中的完整性、可追溯性,并保證軟件產(chǎn)品與《面對行業(yè)手持設備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書》保持一樣性而編寫的。預期讀者為項目相關開發(fā)人員、項目管理人員和SCM、SQA人員、客戶代表。背景項目名稱:面對行業(yè)手持設備的嵌入式Linux軟件平臺用戶:無線手持通信設備廠商基線《面對行業(yè)手持設備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書》范圍本軟件結構設計說明書所涉及的內容范圍包括總體的結構設計,系統(tǒng)單元的結構設計,系統(tǒng)主要數(shù)據(jù)結構說明,接口設計,運行設計,系統(tǒng)出錯處理設計和維護設計。定義無。參考資料《面對行業(yè)手持設備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書》《面對行業(yè)手持設備的嵌入式Linux開發(fā)平臺項目總體開發(fā)安排》本文件中引用的其他文獻、資料以及軟件開發(fā)標準??傮w設計概述功能描述本產(chǎn)品要實現(xiàn)的功能包括:嵌入式Linux系統(tǒng)目標系統(tǒng)的軟件開發(fā)環(huán)境對運行平臺供應的各種接口,供應穩(wěn)定的驅動程序基于QT/embedded的圖形用戶界面中文圖形界面中英文手寫輸入、鍵盤輸入多媒體播放器個人助理套件英漢詞典閱讀器面對交通、物流行業(yè)的應用編程接口本參考平臺包括開發(fā)包和運行包。要求參考平臺具備高度的可配置性,便利開發(fā)人員依據(jù)其須要在參考平臺的基礎上進行添加、裁減和上層開發(fā),快速形成產(chǎn)品。運行環(huán)境開發(fā)平臺的運行環(huán)境:舉薦采納PIII650以上CPU,內存大于128M,硬盤空間大于4G;舉薦完全安裝普華Linux3.0,并安裝開發(fā)包和目標系統(tǒng)源代碼。運行包硬件環(huán)境:硬件采納PXA250開發(fā)板,規(guī)格如下:socketedprocessorforeasyupgrades64MBytesSDRAM32MBytesBootROM32MBytesFlashMemory1MByteSRAMoneIntel?SA-1111?CompanionChip,whichprovides:—onePCMCIAslot—oneCompactFlashslot—oneUSBHostport—PS/2keyboardandmousesupportStandardMicrosystemsLAN91C96*Ethernetcontrollertouch-screenpanelcontrollers:—PhilipsUCB1400*—BurrBrownADS7846*audioCODECswithMIC,LINEIN,andHEADPHONEconnectors:—PhilipsUCB1400—CirrusCS4201*SharpLM8V31LCDpanel,withsupportforotherLCDtypesoneUSBClientportpulsewidthmodulationcontroloneinfrared(IrDA)transceiverFullFunctionandBluetoothUARTserialportsoneslotforoneSecureDigitalmemorycardorMultiMediaCardI2Cbuscommunicationslogicanalyzerconnectionsoneexpansion-cardslotforcustomdevelopmentisolatableprocessorcorevoltageforprecisepowermeasurementseight7-segmentLEDdigits,eightdiscreteLEDs,eightdiscreteswitches,andtwohexadecimal-encodingswitchesforusebyapplicationsoftware 設計思想系統(tǒng)構思本項目向用戶供應參考平臺包含開發(fā)包和運行包,在系統(tǒng)設計中因此也分為開發(fā)平臺和運行平臺,其中開發(fā)平臺系統(tǒng)構思如圖1所示,運行平臺構思如圖2所示。 目標系統(tǒng)源碼包PXA目標系統(tǒng)源碼包PXA開發(fā)包PC環(huán)境目標系統(tǒng)交叉編譯工具`具具具目標系統(tǒng)下載工具Qpe源代碼目標系統(tǒng)裁減工具目標系統(tǒng)打包工具目標系統(tǒng)遠程調試工具PXA250的Linux核心和glibc庫Bash源代碼標準Linux系統(tǒng)圖1開發(fā)平臺系統(tǒng)構思 嵌入式嵌入式GUI嵌入式矢量字庫全屏手寫識別輸入法嵌入式多媒體套件嵌入式文本閱讀器郵件客戶端中文終端文件管理器基本庫和擴展庫支持(C庫、網(wǎng)絡、多媒體(IPP)、圖形)音頻I/O驅動LCD驅動網(wǎng)卡驅動觸摸屏、鍵盤、鼠標驅動Linux核心USB驅動背光燈驅動串口驅動圖圖2運行平臺系統(tǒng)構思關鍵技術與算法關鍵技術:嵌入式Linux操作系統(tǒng):主要是基于IntePXA250硬件平臺進行嵌入式Linux系統(tǒng)優(yōu)化,保證系統(tǒng)具備良好的可移植性和可擴展性,此過程主要涉及的技術包括:系統(tǒng)可剪裁可配置技術;支持無硬盤及閃存工作方式技術;JFFS2文件系統(tǒng)技術;支持隨時干脆關機;支持運行時核心模塊動態(tài)加載機制;嵌入式圖形用戶界面: 支持基于Framebuffer的GUI系統(tǒng);支持GIF、JPEG、XPM、PNG、BMP等常用圖像格式;供應易用的、可定制的、功能完善的人機交互界面;供應已預制的應用模塊接口,供應對應用程序添加的擴展機制等;圖形界面支持完整的中文機制及環(huán)境;為提高用戶的開發(fā)效率,供應豐富的控件集和開發(fā)工具;面對行業(yè)類的應用編程接口庫:供應詳細行業(yè)的API函數(shù)的實現(xiàn)機制;實現(xiàn)不同系統(tǒng)平臺間的通訊;使開發(fā)出的API函數(shù)能夠讓開發(fā)人員較便利地實現(xiàn)上層應用程序與底層硬件之間的通訊;嵌入式JAVA:嵌入式Java虛擬機;供應Java處理程序;支持Javaapplet和Javaapplication;供應Java工具;供應Java運行環(huán)境;嵌入式中文信息處理子系統(tǒng):全面的中文顯示支持;供應多種中文輸入法;嵌入式中文字體;支持嵌入式手寫輸入;本項目目的是供應系統(tǒng)平臺,所以詳細算法主要由合作廠商供應相關接口,本項目設計的主要算法有:基于IPP的多媒體編解碼算法矢量字體的輪廓描繪、填充、平滑算法(算法分析見附錄A)高效、精確的手寫筆跡匹配識別算法關鍵數(shù)據(jù)結構無基本處理流程系統(tǒng)流程圖開發(fā)平臺系統(tǒng)流程如圖3所示:圖3開發(fā)平臺系統(tǒng)流程圖依據(jù)開發(fā)須要對參考平臺進行配置圖3開發(fā)平臺系統(tǒng)流程圖依據(jù)開發(fā)須要對參考平臺進行配置依據(jù)配置對源代碼進行編譯鏈接庫文件,形成可執(zhí)行代碼生成動態(tài)庫或靜態(tài)庫推斷是否須要裁減依據(jù)須要進行裁減按配置要求對相關文件進行打包推斷是否須要打包寫入目標系統(tǒng)YYNN

運行平臺系統(tǒng)流程圖如圖4所示.開發(fā)板加電開發(fā)板加電初始化設備掛裝文件系統(tǒng)加載busybox啟動init進程加載圖形界面(QPE)上層應用(記事本,媒體播放,關機等)退出運行環(huán)境關機關機 圖圖4 運行平臺系統(tǒng)流程圖數(shù)據(jù)流程圖本項目供應系統(tǒng)平臺,因此項目沒有核心數(shù)據(jù)流程,相關模塊的數(shù)據(jù)流程見附錄B。產(chǎn)品的系統(tǒng)體系結構系統(tǒng)單元如下例表所示:單元名稱標識符功能開發(fā)平臺包kfptb交叉編譯源代碼,并打包下載到PXA開發(fā)板設備/接口驅動程序qdcx訪問設備/接口的IO端口/寄存器/配置空間,進行設備檢測和參數(shù)設定,并初始化設備。處理中斷懇求,完成數(shù)據(jù)讀寫操作檢測錯誤和處理異樣中軟嵌入式Linux操作系統(tǒng)czxt嵌入式Linux核心、基本庫和擴展庫(C庫、網(wǎng)絡、多媒體、圖形庫)嵌入式中文GUIzwguiQPE圖形環(huán)境(窗口管理、中文字庫、中文手寫)上層應用scyyQPE下的上層應用程序(包含個人助理套件、多媒體應用等)系統(tǒng)層次結構運行平臺系統(tǒng)層次結構如圖5所示:中軟嵌入式中軟嵌入式Linux操作系統(tǒng)設備/接口驅動程序嵌入式中文GUI全屏中文手寫嵌入式中文字庫上層應用(關鍵是多媒體應用)圖圖5運行平臺系統(tǒng)層次結構圖系統(tǒng)單元設計開發(fā)平臺:將現(xiàn)有的交叉編譯工具、調試器、軟件包下載工具等整合在一起,并增加裁減、打包工具。設備/接口驅動程序:在現(xiàn)有的相關驅動程序源代碼基礎上,對PS/2,USB,以太網(wǎng)口,LCD以及音頻口進行測試,并實現(xiàn)x86平臺到PXA平臺的移植。中軟嵌入式Linux操作系統(tǒng):運用開發(fā)平臺供應的交叉編譯工具編譯基于PXA平臺的嵌入式Linux核心和基本庫以及啟動程序,并運用開發(fā)平臺的相關工具下載到開發(fā)板上。嵌入式中文GUI:開放源碼的圖形環(huán)境QPE的修改和漢化(另包括全屏中文手寫單元和嵌入式中文字庫單元),然后交叉編譯修改后的QPE源碼并下載到開發(fā)板上(全屏中文手寫流程圖見附錄C)上層應用:修改一些已有源碼的應用并交叉編譯下載到開發(fā)板上,關鍵是實現(xiàn)一個基于IntelIPP的多媒體播放器,主要方法是在分析QPE多媒體軟件底層接口的基礎上,移植替換底層解碼庫。(多媒體解碼流程圖見附錄D)功能需求與系統(tǒng)單元的關系開發(fā)平臺:可以在PC機上交叉編譯PXA的應用程序可對生成的PXA目標代碼進行裁減可對生成的系統(tǒng)進行打包集成可以將軟件包下載到PXA開發(fā)板,并寫入Flash供應minicom,可通過串口進行調試可在PXA開發(fā)板上通過gdb/gdbserver調試二進制代碼設備/接口驅動程序:能運用PS2接口的鍵盤和鼠標能通過USB口運用外接設備能運用10M以太網(wǎng)接口能運用LCD和觸摸屏能運用外接的音頻輸入輸出設備中軟嵌入式Linux操作系統(tǒng):在開發(fā)板上Linux核心正常啟動在開發(fā)板上能運用Linux基本指令 嵌入式中文GUI:完善穩(wěn)定的QPE圖形界面全面漢化處理手寫識別率高中文字體美觀、清楚字符顯示能夠無級縮放上層應用:嵌入式中文套件郵件客戶端多媒體應用軟件(能正常播放MPEG4和MP3文件,多媒體文件播放流暢,播放速率至少達到25幀/秒)人工處理過程開發(fā)平臺: 依據(jù)目標系統(tǒng)需求,修改配置文件或Makefile 軟件的配置、編譯過程,包括configure、make、makeinstall等 軟件裁剪、打包和下載過程。運行平臺:無。系統(tǒng)主要數(shù)據(jù)結構說明數(shù)據(jù)結構本項目主要是供應一個系統(tǒng)平臺,因此沒有全局的數(shù)據(jù)結構,系統(tǒng)單元的數(shù)據(jù)結構如下:a) 嵌入式中文字庫主要數(shù)據(jù)結構 FT_Outline_typedefstructFT_Outline_{shortn_contours;/*numberofcontoursinglyph*/shortn_points;/*numberofpointsintheglyph*/FT_Vector*points;/*theoutline'spoints*/char*tags;/*thepointsflags*/short*contours;/*thecontourendpoints*/intflags;/*outlinemasks*/}FT_Outline;n_contours:表示在一個glyphoutline中全部的字形輪廓的數(shù)目n_points:表示在一個glyphoutline的矢量表示中,全部坐標點的數(shù)目。Points:一個指向有`n_points'個FT_Vector元素的數(shù)組的指針,給出了outline's點坐標Tags:一個指向有`n_points'個char元素的數(shù)組的指針,給出每個outlinepoint的類型。Contours:一個`n_contours'個短整型元素的數(shù)組,給出了每個contour的結束點的索引。Flags:一系列bitflags用來表示outline的特征。b) 全屏中文手寫主要數(shù)據(jù)結構classQMatcher{//識別庫標準接口類public: QMatcher();//初始化 virtual~QMatcher();//析構 virtualvoidsetType();//設置識別類型 virtualvoidsetSpeed();//設置識別速度 virtualunsignedlonggetType();//獲得識別類型 virtualshortgetSpeed();//獲得識別速度 virtualintRecognize();//識別處理 virtualstructrangelist*TypeRange();//獲得識別類型表列};structQ_PACKEDQIMPenGlyphLink//每個點的坐標結構{signedchardx;signedchardy;};classQIMPenStroke//記錄每一個筆畫中的各個點{public:QIMPenStroke();//初始化voidclear();//清空boolisEmpty();//推斷是否為空intlength();//返回點的個數(shù)constQArray<QIMPenGlyphLink>&chain();//返回各個點QPointstartingPoint();//返回起先點voidbeginInput(QPointp);//起先記錄booladdPoint(QPointp);//把點加入links數(shù)組voidendInput();//某個筆畫結束protected:QArray<QIMPenGlyphLink>links;//某個筆畫的各個點的坐標};typedefQList<QIMPenStroke>QIMPenStrokeList;//一個字的全部筆畫c)多媒體軟件移植主要數(shù)據(jù)結構 mp3解碼所用到的結構typedefstruct{/****************************************/1.ippsUnpackFrameHeader_MP3 ***********************************/IppMP3FrameHeaderFrameHdr; /*MP3幀頭信息*/Ipp8uHdrBuf[HDR_BUF_SIZE]; /*MP3幀頭緩沖區(qū)*/Ipp8u*pHdrBuf; /*MP3幀頭緩沖區(qū)指針*//*********************************** 2.ippsUnpackSideInfo_MP3 ***********************************/IppMP3SideInfoSideInfo[MAX_GRAN][MAX_CHAN]; /*MP3side信息表*//***********************************3.ippsUnpackScaleFactors_MP3_1u8s ***********************************/ Ipp8sScaleFactor[MAX_CHAN*IPP_MP3_SF_BUF_LEN]; /*mp3scalefactors信息表*/intScfsi[MAX_CHAN*SCF_BANDS]; /*Scalefactor信息選擇表*//*******************************4.ippsHuffmanDecode_MP3_1u32s ********************************/Ipp32sIsXr[MAX_CHAN*IPP_MP3_GRANULE_LEN]; /*Huffman解碼緩沖區(qū)和IMDCT流緩沖區(qū)*/ intNonZeroBound[MAX_CHAN]; /*Non-zeroboundsonHuffmanIMDCTcoefficientsetforeachchannel*/ /******************************* 5.ippsReQuantize_MP3_32s_I ********************************/Ipp32sRequantBuf[IPP_MP3_GRANULE_LEN]; /*Workspacebufferrequiredbyrequantizationprimitive*/ /******************************* 6.ippsMDCTInv_MP3_32s********************************/ Ipp32sXs[MAX_CHAN*IPP_MP3_GRANULE_LEN]; /*IMDCT輸出/PQMF輸入緩沖區(qū)*/ Ipp32sOverlapAddBuf[MAX_CHAN*IPP_MP3_GRANULE_LEN]; /*Overlap-addbufferrequiredbyIMDCTprimitive*/ intPreviousIMDCT[MAX_CHAN]; /*NumberofIMDCTscomputedonpreviousgranule/frame*/ /*******************************7.ippsSynthPQMF_MP3_32s16s ********************************/ Ipp32sPQMF_V_Buf[MAX_CHAN*IPP_MP3_V_BUF_LEN]; /*"V"buffer-usedbyfastDCT-basedalgorithmforsynthesisPQMFbank*/ intPQMF_V_Indx[MAX_CHAN]; /*IndexusedbythePQMFforinternalmaintainenceofthe"V"buffer*/ /******************************* MainDataDecodingBuffer ********************************/ Ipp8uMainDataBuf[MAIN_DATA_BUF_SIZE]; /*數(shù)據(jù)區(qū)解碼緩沖區(qū)*/ intMainDataEnd; /*數(shù)據(jù)區(qū)指針*/ /******************************* ApplicationInterfaceParameters ********************************/ intChannels; /*通道數(shù)量*/ intpcmLen; /*pcm輸出緩沖長度*/}MP3DecoderState;mpeg4解碼所用到的結構/*視頻屬性結構*/typedefenum{IPP_VIDEO_LUMINANCE, /*亮度*/IPP_VIDEO_CHROMINANCE, /*色度*/ IPP_VIDEO_ALPHA /*Alphacomponent*/}IppVideoComponent;/*MacroblockTypes*/typedefenum{ IPP_VIDEO_INTER =0, /*PpictureorP-VOP*/IPP_VIDEO_INTER_Q =1, /*PpictureorP-VOP*/ IPP_VIDEO_INTER4V =2, /*PpictureorP-VOP*/ IPP_VIDEO_INTRA =3, /*IandPpicture,orI-andP-VOP*/IPP_VIDEO_INTRA_Q =4, /*IandPpicture,orI-andP-VOP*/IPP_VIDEO_INTER4V_Q =5, /*PpictureorP-VOP(H.263)*/IPP_VIDEO_DIRECT =6, /*BpictureorB-VOP(MPEG-4only)*/IPP_VIDEO_INTERPOLATE =7, /*BpictureorB-VOP*/IPP_VIDEO_BACKWARD =8, /*BpictureorB-VOP*/IPP_VIDEO_FORWARD =9 /*BpictureorB-VOP*/}IppMacroblockType;/*矢量動作結構*/typedefstruct_IppMotionVector{Ipp16s dx;Ipp16s dy;}IppMotionVector;/*透亮狀態(tài)結構*/enum{IPP_VIDEO_TRANSPARENT =0,IPP_VIDEO_PARTIAL =1,IPP_VIDEO_OPAQUE =2};數(shù)據(jù)結構與系統(tǒng)單元的關系嵌入式中文字庫單元,在對矢量字庫的處理中,數(shù)據(jù)結構FT_Outline_中描述了字形輪廓的矢量表示,依據(jù)設置的字體格式,對字形輪廓的矢量表示的進行轉換,并以此生成位圖,輸出顯示字符。全屏中文手寫單元,在鼠標輸入過程中,利用數(shù)據(jù)結構QIMPenStroke記錄每一個筆畫中的各個點,利用Qmatcher識別引擎作為調用識別庫標準接口,在手寫識別程序和識別庫之間進行數(shù)據(jù)交換,并產(chǎn)生候選字列表。多媒體軟件移植單元,主要通過這些數(shù)據(jù)結構在解碼過程來描述媒體文件,并在最終通過數(shù)據(jù)結構返回上層軟件。接口設計外部接口4.1.1用戶接口開發(fā)平臺: 采納吩咐行方式與用戶交互信息。運行平臺: 用戶通過手寫輸入或者虛擬終端同開發(fā)板交互信息。4.1.2其它外部接口開發(fā)平臺: 硬件接口:通過串口、并口、網(wǎng)口與開發(fā)板通訊。 軟件接口:通過minicom、ftp、telnet與運行環(huán)境交互信息。運行平臺:嵌入式GUI:TrollTech公司。中英文手寫輸入:清華文通。嵌入式中文字庫:長沙東文內部接口運行平臺系統(tǒng)單元接口如6所示:上層應用上層應用QPE中文圖形環(huán)境全屏中文手寫嵌入式中文字庫設備驅動中軟嵌入式Linux核心圖圖6運行平臺系統(tǒng)單元接口運行設計系統(tǒng)初始化加電復位,核心引導,執(zhí)行初始化腳本,建立基本運行環(huán)境,啟動圖形界面。運行限制無運行結束退出系統(tǒng),關閉電源。系統(tǒng)出錯處理設計出錯信息本項目可能出錯的信息有:運行平臺系統(tǒng)啟動失敗,某設備不支持等。(x86平臺圖形界面和應用編程中出現(xiàn)的錯誤由開發(fā)人員依據(jù)實際狀況修改調試,在此不做預料)補救措施依據(jù)出錯信息重新交叉編譯Linux核心源碼,寫入目標系統(tǒng)運行。系統(tǒng)維護設計檢測點的設計無檢測專用模塊的設計無尚待解決的問題無附錄A:嵌入式中文字庫關鍵技術和算法 glyph的矢量表示Glyphimage的矢量表示被稱為outline,outline是一系列封閉的路徑稱之為contours組成,每個contours劃定了一個glyph的外部和內部區(qū)域,它是由線段和貝塞爾曲線組成。Contours是由一系列的points來表示,通過controlpoints來定義曲線的弧是二次還是三次的貝塞爾曲線。因此,每一個point都對應一個tag標記,說明其是normal還是controlpoint。每一個contour對應下列四種狀況:圖一圖二圖三圖四由三個數(shù)組來進行描述:points數(shù)組包含了contours全部的點,tags數(shù)組包含了與每一個point相對應的flag,contours數(shù)組包含了一個contour結束點的索引。n_points是outline全部的點數(shù),n_contours是outline包含的contours的數(shù)量。Tag可以為以下的三種value: FT_Curve_Tag_On:表示其所對應的point在曲線上,兩個連續(xù)的FT_Curve_Tag_On的point表示一個直線段。如圖一所示。 FT_Curve_Tag_Conic:表示其所對應的point不在曲線上,但是一個controlpoint,在兩個FT_Curve_Tag_On的point中間有一個FT_Curve_Tag_Conic的point表示了一段二次貝塞爾曲線,如圖二所示。 FT_Curve_Tag_Cubic:也表示所對應的point是一個controlpoint,在兩個FT_Curve_Tag_On的point中間有兩個FT_Curve_Tag_Cubic的points表示了一段三次貝塞爾曲線,如圖三所示。 假如在兩個FT_Curve_Tag_On的point中間有兩個FT_Curve_Tag_Conic的points,則會在兩個offpoints的中間加上一個虛擬的point,形成兩個二次的貝塞爾曲線。如圖四所示。計算轉換系數(shù)scale設char_width為設置的字體大小,horz_resolution為設備的辨別率將字體大小放大64倍:char_width=char_width<<6將字體的大小轉換成26.6格式:dim_x=(((char_width*horz_resolution)/72)+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論