windows图形接口与绘图_第1页
windows图形接口与绘图_第2页
windows图形接口与绘图_第3页
windows图形接口与绘图_第4页
windows图形接口与绘图_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、windows图形接口与绘图 3 Windows 图形设备接口及绘图图形设备接口及绘图 1. 响应响应WM_PAINT消息消息 2. 图形设备接口图形设备接口(GDI) 3. 使用设备描述表使用设备描述表 3. 获取设备描述表句柄获取设备描述表句柄 5. CDC及其派生类及其派生类 6. 使用使用CDC成员函数绘制文本成员函数绘制文本 7.使用使用CDC成员函数绘制图形成员函数绘制图形 8.正确使用正确使用GDI对象对象 9.设备坐标与逻辑坐标设备坐标与逻辑坐标 10. OpenGL绘图绘图 windows图形接口与绘图 实验作业实验作业 习题2,3,4 windows图形接口与绘图 WM_P

2、AINT消息的产生 无效矩形 打开一个窗口 改变窗口大小 移动窗口 切换窗口 最小化、最大化窗口 调用InvalidateRect函数 调用UpdateWindow函数 2. 响应WM_PAINT消息 OnPaint 3.1 响应响应WM_PAINT消息消息 windows图形接口与绘图 3.2 图形设备接口图形设备接口(GDI) 1 图形设备接口提供专门的数据结构即设备描述表(DC)和对DC操 作的绘图函数。 2 设备描述表(DC)用于代表图形输出设备如显示屏、打印机; 3 设备无关性利用GDI,所有的绘图操作都对设备描述表而不是具体 的物理设备。 windows图形接口与绘图 设备描述表设

3、备描述表 一种专门用于代表图形输出设备(如屏幕、打 印机和绘图仪等)的数据结构 画布 绘图工具(设备描述表属性) 使用句柄(HDC)访问设备描述表 设置设备描述表属性 绘制图形和文本 windows图形接口与绘图 设 备 描 述 表 属 性缺 省 值设 置 属 性 值 函 数获 取 属 性 值 函 数 映 射 方 式 M M _TEX TSetM apM odeG etM apM ode 窗 口 原 点 (0,0)SetW indowO rgG etW indowO rg O ffsetW indowO rg 视 口 原 点( 0,0) SetViewportO rgG etViewportO

4、 rg O ffsetViewportO rg 窗 口 限 度 (1,1)SetW indowExtG etW indowExt SetM apM ode 视 口 限 度 (1,1)SetViewportExtG etViewportExt SetM apM ode 画 笔BLA CK_PESelectO bjectSelectO bject 画 刷 W H ITE_BRUSHSelectO bjectSelectO bject 字 模 SISTEM _FO NTSelectO bjectSelectO bject 位 图 NO NESelectO bjectSelectO bject 当 前

5、 画 笔 位 置 (0,0)M oveTo LineTo G etCurrentPosition 背 景 方 式 OPAQU ESetBkM odeG etBkM ode 背 景 色 彩 W hiteSetBkColorG etBkColor 文 本 色 彩 BlackSetTextColorG etTextColor 作 图 方 式 R2_COPYPENSetROP2G etROP2 伸 展 方 式 BLA CK_O NW H IESetPollyFillM odeG etPollyFillM ode 多 边 形 填 充 方 式 A LTERNATESetPollyFillM odeG et

6、PollyFillM ode 字 符 间 距 0SetTextCharacterExtraG etTextCharacterE xtra 画 刷 原 点(0,0)屏 幕 坐 标 SetBrushO rgG etBrushO rg 裁 剪 区 NO NESelectO bject SelectClipRgn IntersectClipRect O ffsetClipRgn ExcludeClipRect SelectO bject G etClipBox 设备描述表属性 windows图形接口与绘图 GDI对象 画笔 画刷 字体 位图 裁剪区 windows图形接口与绘图 case WM_PAI

7、NT: hdc = BeginPaint(hWnd, RECT rt; GetClientRect(hWnd, SetTextColor(hdc,RGB(255,0,0); SetBkColor(hdc,RGB(0,0,255); DrawText(hdc, szHello, strlen(szHello), EndPaint(hWnd, break; windows图形接口与绘图 (1) 获取设备描述表句柄 (2) 设置设备描述表属性 (3) 调用绘图函数绘图 (4) 释放设备描述表 3.3 使用设备描述表绘图 windows图形接口与绘图 1. BeginPaint和和EndPaint函数

8、函数 (1) BeginPaint function 准备在窗口绘图 获得代表窗口的设备描述表句柄 把有关绘图的信息放到PAINTSTRUCT 结构变 量中。 响应WM_PAINT消息绘图,必须调用该函数获 取设备描述表句柄。 3.4 获取窗口设备描述表句柄 windows图形接口与绘图 HDC BeginPaint ( HWND hwnd, / handle to window LPPAINTSTRUCT lpPaint / pointer to structure for paint information); 函数原型: windows图形接口与绘图 PAINTSTRUCT typede

9、f struct tagPAINTSTRUCT HDC hdc; BOOL fErase; RECT rcPaint; BOOL fRestore; BOOL fIncUpdate; BYTE rgbReserved32; PAINTSTRUCT windows图形接口与绘图 标志对指定窗口的绘图结束 释放设备描述表句柄 必须与BeginPaint函数成对调用函数成对调用 函数原型函数原型 BOOL EndPaint ( HWND hWnd, CONST PAINTSTRUCT *lpPaint ); ); (2) EndPaint function windows图形接口与绘图 2.GetD

10、C2.GetDC和和RealeaseDCRealeaseDC函数函数 (1) GetDCGetDC function 获取窗口设备描述表句柄 用于响应非WM_PAINT消息绘图。 函数原型:函数原型: HDC GetDC( HWNDHDC GetDC( HWND hWnd ); ); windows图形接口与绘图 (2)ReleaseDC function 释放设备描述表句柄 必须与GetDC函数成对调用 函数原型:函数原型: int ReleaseDC(HWNDint ReleaseDC(HWND hWnd, , / handle to window HDCHDC hDC / handle

11、to device context ); ); windows图形接口与绘图 3.5 CDC及其派生类 CDC: 封装了所有与设备描述表有关的 数据和操作。 绘图函数:Ellipse() 文本输出:TextOut() 设置设备描述表属性:SelectObject(), SetTextColor() 数据成员m_hdc:设备描述表句柄。 windows图形接口与绘图 CPaintDC: construction CWnd:BeginPaint destruction CWnd:EndPaint CClientDC : construction CWnd:GetDC destruction CWn

12、d:ReleaseDC CWindowDC GetWindowDC ReleaseDC windows图形接口与绘图 3.6 GDI对象与对象与CGDIObjectCGDIObject类类 GDI对象与句柄 使用GDI对象 使用CGDIObjectCGDIObject类类 windows图形接口与绘图 句柄对象 HGDIOBJ所有GDI对象 HBRUSH画刷 HPEN画笔 HBITMAP位图 HRGN区域 HPALETTE调色板 GDI对象与句柄 windows图形接口与绘图 使用GDI对象基本规则 (1) 创建对象 (2) 用SelectObject函数把新创建的对象选入设备描述表,并保留原

13、对 象 (3) 完成绘图函数的调用后,把旧对象选入设备描述表,置换出创建 的对象 (4) 删除创建的对象,由 DeleteObject函数完成 windows图形接口与绘图 case WM_PAINT: hdc = BeginPaint(hWnd, HPEN hNewPen,hOldPen; hNewPen=CreatePen(PS_DASH,1,RGB(255,0, 0); hOldPen=(HPEN)SelectObject(hdc,hNewPen); MoveToEx(hdc,0,0,NULL); LineTo(hdc,100,100); hNewPen=(HPEN)SelectObje

14、ct(hdc,hOldPen); DeleteObject(hNewPen); EndPaint(hWnd, break; windows图形接口与绘图 使用CGDIObject类 数据成员m_hObject Attach函数 Detach函数 派生类: CPen、CBrush、CFont、 CBitmap、CPallete和CRgn类 windows图形接口与绘图 逻辑坐标系 TextOut(hdc, x,y,szBuffer,nLength) 设备坐标系 屏幕坐标系 窗口坐标系 窗口工作区坐标系 视口(设备坐标)与窗口(逻辑坐标) 3.7设备坐标与逻辑坐标 windows图形接口与绘图 映

15、像模式 定义了逻辑坐标与设备坐标的转换 CDC: SetMapMode();CDC: SetMapMode(); 映射模式 逻辑单元坐标轴方向 MM_TEXT象素X:向右 Y:向下 MM_ISOTROPIC任意(X=Y)X:向右 Y:向上 MM_ANISOTROPIC任意(X!=Y)X:向右 Y:向上 MM_HIENGLISH0.001 英寸X:向右 Y:向上 MM_HIMETRIC0.01MMX:向右 Y:向上 MM_LOENGLISH0.01 英寸X:向右 Y:向上 MM_LOMETRIC0.1MMX:可选 Y:可选 MM_TWIPS1/1440 英寸X:可选 Y:可选 windows图形

16、接口与绘图 窗口原点和视口原点窗口原点和视口原点 调整逻辑坐标的原点调整逻辑坐标的原点 窗口限度和视口限度窗口限度和视口限度 调整逻辑坐标轴的方向和单位调整逻辑坐标轴的方向和单位 逻辑坐标与设备坐标的转换公式 xViewport=(xWindow- xWinOrg)*(xViewExt/xWinExt)+xViewOrg; yViewport=(yWindow- yWinOrg)*(yViewExt/yWinExt)+xViewOrg; windows图形接口与绘图 设置逻辑坐标系的原点设置逻辑坐标系的原点 SetViewportOrgEx函数 BOOL SetViewportOrgEx( H

17、DC hdc, / 设备描述表句柄 int X, / 使用设备单位,视口原点的X坐标值 int Y, / 使用设备单位,视口原点的Y坐标值 LPPOINT lpPoint / 指向POINT结构变量,存放 原始的视口原点坐标 ); SetViewportOrgEx(hdc,cx/2,cy/2,NULL); windows图形接口与绘图 SetWindowOrgEx BOOL SetWindowOrgEx( HDC hdc, / 设备描述表句柄 int X, / 使用逻辑单位,窗口原点的X坐标值 int Y, / 使用逻辑单位,窗口原点的Y坐标值 LPPOINT lpPoint / 指向POIN

18、T结构变量,存放 原始的窗口原点坐标 ) SetWindowOrgEx(hdc,-cx/2,-cy/2,NULL); windows图形接口与绘图 1.设置映射方式 MM_ANISOTROPIC,MM_ISOTROPIC(做适当调整) 2. 设置窗口限度 SetWindowExt()SetWindowExt() BOOL SetWindowExtEx( HDC hdc, / 设备描述表句柄 int nXExtent, / 新设置的水平方向窗口限度 int nYExtent, / 新设置的垂直方向窗口限度 LPSIZE lpSize / 原始窗口限度 ); 任意逻辑坐标系的设置 windows图

19、形接口与绘图 3.设置视口限度 BOOL SetViewportExtEx( HDC hdc, / 设备描述表句柄 int nXExtent, / 新设置的水平方向视口限度 int nYExtent, / 新设置的垂直方向视口限度 LPSIZE lpSize / 原始视口限度 ); windows图形接口与绘图 坐标系的转换 DPToLP() LPToDP() ClientToScreen() ScreenToClient() windows图形接口与绘图 3.8 3.8 使用使用CDCCDC类绘制图形类绘制图形 绘制点和线绘制点和线 COLORREF SetPixel( POINT poin

20、t, COLORREF crColor ); CPoint MoveTo( POINT point ); BOOL LineTo( POINT point ); BOOL Arc( LPCRECT lpRect, POINT ptStart, POINT ptEnd ); BOOL AngleArc( int x, int y, int nRadius, float fStartAngle, float fSweepAngle ); windows图形接口与绘图 BOOL Polyline( LPPOINT lpPoints, int nCount ); BOOL PolyPolyline(

21、const POINT* lpPoints, const DWORD* lpPolyPoints, int nCount ); BOOL PolyBezier( const POINT* lpPoints, int nCount ); windows图形接口与绘图 绘制封闭图形绘制封闭图形 BOOL Ellipse( LPCRECT lpRect ); BOOL Rectangle( LPCRECT lpRect ) BOOL RoundRect( LPCRECT lpRect, POINT point ); BOOL Pie( LPCRECT lpRect, POINT ptStart, P

22、OINT ptEnd ); BOOL Polygon( LPPOINT lpPoints, int nCount ); BOOL PolyPolygon( LPPOINT lpPoints, LPINT lpPolyCounts, int nCount ); windows图形接口与绘图 CPenCPen类和画笔类和画笔 函数原型说明 CPen( ); 构造 Cpen对象 CPen( int nPenStyle, int nWidth, COLORREF crColor ); 构造 Cpen对象,并创建样式为 nPenStyle, 宽度为 nWidth,颜色为 crColor 的 GDI 画

23、笔对象 BOOL CreatePen( int nPenStyle, int nWidth, COLORREF crColor ); 并创建样式为 nPenStyle,宽度为 nWidth, 颜色为 crColor的 GDI画笔对象 BOOL CreatePenIndirect( LPLOGPEN lpLogPen ); 创建 GDI 画笔对象,参数为 lpLogPen 指 向 LOGPEN结构对象。 LOGPEN 结构的定义如下: typedef struct tagLOGPEN /* lgpn */ UINT lopnStyle; /画笔样式 POINT lopnWidth; /画笔宽度

24、COLORREF lopnColor; /画笔颜色 LOGPEN; windows图形接口与绘图 样式线形 PS_SOLID PS_DASH PS_DOT PS_DASHDOT PS_DASHDOTD OT PS_NULL PS_INSIDEFRA ME windows图形接口与绘图 (1)调用带参数的构造函数创建GDI画笔对象,例如: Cpen m_Pen (PS_SOLID,1,RGB(0,0,255); (2)先调用缺省构造函数创建CPen对象,然后调用Indirect 函数创建GDI画笔对象,例如: Cpen m_Pen; LOGPEN logpen; logpen .lopnStyl

25、e=PS_SOLID; /画笔样式 logpen .lopnWidth=1; /画笔宽度 logpen .lopnColor=RGB(0,0,255); m_Pen. CreatePenIndirect( windows图形接口与绘图 1 画刷和CBrush类 函数原型说明 CBrush( ); 构造CBrush对象 CBrush( COLORREF crColor ); 构造 CBrush 对象,并创建实心画刷,颜 色由参数crColor指定 CBrush( int nIndex, COLORREF crColor ); 构造 CBrush 对象,并创建阴影线画刷, 阴影线样式由nIndex

26、指定, 颜色由crColor 指定 CBrush( CBitmap* pBitmap );构造 CBrush 对象,并创建位图画刷,位 图由pBitmap指定 BOOL CreateSolidBrush( COLORREF crColor ); 创建实心画刷,颜色由参数crColor指定 BOOL CreateHatchBrush( int nIndex, COLORREF crColor ); 创建阴影线画刷,阴影线样式由 nIndex 指定,颜色由crColor指定 BOOL CreateBrushIndirect( const LOGBRUSH* lpLogBrush ); 创建画刷,画

27、刷类型由 lpLogBrush 指向 的LOGBRUSH结构变量指定 BOOL CreatePatternBrush( CBitmap* pBitmap ); 创建位图画刷,位图由pBitmap指定 windows图形接口与绘图 LOGBRUSH的结构定义如下: typedef struct tagLOGBRUSH / lb UINT lbStyle; COLORREF lbColor; LONG lbHatch; LOGBRUSH; LbStyle画刷类型 BS_HATCHED 阴影线画刷 BS_HOLLOW, BS_NULL空心画刷 BS_PATTERN,BS_PATTERN8X8位图画刷

28、 BS_SOLID 实心画刷 windows图形接口与绘图 样式阴影线图式 HS_HORIZONTAL HS_VERTICAL HS_FDIAGONAL HS_BDIAGONAL HS_CROSS HS_DIAGCROSS 阴影线的样式: windows图形接口与绘图 (1)创建实心画刷 使用带参数的构造函数创建 CBrush brush(RGB(255,0,0); 先使用缺省的构造函数创建Cbrush对象, 然后调用成员函数创建画刷 CBrush brush; brush.CreateSolidBrush(RGB(255,0,0) windows图形接口与绘图 (2) 创建阴影线画刷 使用带

29、参数的构造函数创建,例如: CBrush brush(HS_DIAGCROSS,RGB(0,255,0); 先使用缺省的构造函数创建Cbrush对象,然后调 用成员函数创建画刷。如: CBrush brush; brush.CresteHatchBrush(HS_DIAGCROSS,RGB (0,255,0); windows图形接口与绘图 (3)创建位图画刷 准备一个位图对象 CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); 使用CBrush类带参数的构造函数创建位图画 刷,例如: CBrush brush( 先使用缺省的构造函数创建Cbrush

30、对象,然 后调用成员函数创建画刷。例如: CBrush brush; brush.CrestePatternBrush( windows图形接口与绘图 1TextOut 2DrawText-在指定矩形区域以一定格式输出字符 串 DT_BOTTOM DT_CENTER DT_LEFT DT_RIGHT DT_SINGLELINE DT_TOP DT_VCENTER 3.9 使用CDC成员函数绘制文本 文本输出函数 windows图形接口与绘图 3. ExtTextOut 函数功能:在指定位置输出字符串,并 且在文本周围给矩形填充背景色。 函数原型:BOOL ExtTextOut( int x,

31、int y, UINT nOptions, LPCRECT lpRect, const CString 参数说明 x,y字符串输出起始位置 x,y 坐标 NOptions指定矩形框的样式;如果设置为ETO_CLIPPED 则字符串被矩形框剪切, 如果设置为 ETO_OPAQUE 则矩形框将被背景色填充。 LpRect指定矩形,可以设置为NULL。 Str绘制的字符串 LpDxWidth s 指向一个数组;数组元素i 的值决定了第 I 个字符与第 I+1 个字符的间 隔距离;可以设置为 NULL。 windows图形接口与绘图 void CChildView:OnPaint() CPaintDC

32、 dc(this); / device context for painting dc.SetBkColor(RGB(0,255,0); CRect rect(0,0,200,40); int array5=40,25,35,45,15; dc.ExtTextOut(10,10,ETO_CLIPPED|ETO_O PAQUE, windows图形接口与绘图 4.TabbedTextOut函数 函数功能:和TextOut()的差不多,只是 它支持制表符,定义一组制表符的位置。 函数原型:CSize TabbedTextOut( int x, int y, const CString 参数说明 x

33、,y字符串输出起始位置 x,y 坐标 Str绘制的字符串 NTabPositions指定制表符的个数 LpnTabStopPositions指向一个存放制表符位置的数组 NTabOrigin制表符的扩展宽度 windows图形接口与绘图 void CChildView:OnPaint() CPaintDC dc(this); / device context for painting int array3=80,140,200; dc.TabbedTextOut(0,0,CString(helloth owtaretyou),0,NULL,0); dc.TextOut(0,180,CStrin

34、g(hellothowta retyou); windows图形接口与绘图 1. SetTextAlignetTextAlign TA_BASELINE TA_BOTTOM TA_TOP TA_CENTER TA_LEFT TA_RIGHT 文本格式控制文本格式控制 windows图形接口与绘图 2. SetTextCharacterExtra2. SetTextCharacterExtra 函数功能:设置字符间距 函数原型:int SetTextCharacterExtra( int nCharExtra ); 参数说明:nCharExtra为添加的空白数 (逻辑单位) windows图形接

35、口与绘图 3. SetTextJustification3. SetTextJustification 函数功能: 设置词间距 函数原型:int SetTextJustification( int nBreakExtra, int nBreakCount ); 参数说明:nBreakExtra 为所有空格添加 的 空 白 数 ( 逻 辑 单 位 ) ; nBreakCount 为一行字符串中的空格数。 windows图形接口与绘图 GetTextExtent函数 函数原型:CSize GetTextExtent( const CString dc.SetTextAlign(TA_RIGHT);

36、 dc.TextOut(100,20,CString(right aligned); dc.SetTextAlign(TA_LEFT); dc.TextOut(100,60,CString(left aligned); int oldextra=dc.SetTextCharacterExtra(5); dc.TextOut(100,100,CString(left aligned and add 5 extra); windows图形接口与绘图 CSize size=dc.GetTextExtent(CString(left aligned and add 5 extra and justif

37、ied); CRect rect; GetClientRect( dc.SetTextJustification(rect.Width()-size.cx,7); dc.TextOut(0,140,CString(left aligned and add 5 extra and justified); dc.SetTextCharacterExtra(oldextra); dc.SetTextJustification(0,0); dc.TextOut(100,180,CString(left aligned); windows图形接口与绘图 1.GetTextMetrics1.GetText

38、Metrics 2.GetTextExtentPoint2.GetTextExtentPoint typedef struct tagTEXTMETRIC typedef struct tagTEXTMETRIC LONG tmHeight; LONG tmHeight; LONG tmAscent; LONG tmAscent; LONG tmDescent; LONG tmDescent; LONG tmInternalLeading; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmExternalLeading; LONG

39、tmAveCharWidth; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmWeight; TEXTMETRIC; TEXTMETRIC; windows图形接口与绘图 设置字符和背景颜色设置字符和背景颜色 (1)SetTextColor函数 (2)SetBKColor函数 windows图形接口与绘图 CFontCFont类与字体类与字体 WindowsWindows字体字体 栅格型(Raster) 矢量型(Vector) TrueType 字体要素 字型(字体名称)

40、 字型样式(字体样式) 大小(从低端到顶端的距离) windows图形接口与绘图 成员类 型 成员名使用说明 LONGlfHeight字符高度(使用逻辑单位) 设置为 0 时,使用缺省高度 LONGlfWidth字符平均宽度, 设置为 0 时,使用匹配宽度 LONGlfEscapement字符与 X 轴的角度,缺省为 0 LONGlfOrientation字符排列角度,值为角度*10, 如 900 代表 90 度, 1800 为逆向 LONGlfWeight字符中线的粗细度, 取值范围: FW_DONTCARE,FW_THIN, FW_NORMAL,FW_REGULAR. FW_BOLD,.F

41、W_BLACK,FW_HEAVY BYTElfItalic非 0 为斜体 BYTElfUnderline非 0 为加下划底线 BYTElfStrikeOut非 0 为在字符中央加线 windows图形接口与绘图 BYTElfCharSet字符集,可以设置以下字符集: ANSI_CHARSET,DEFAULT_CHARSET, SYMBOL_CHARSET,SHIFTJIS_CHARSET, HANGUL_CHARSET,GB2312_CHARSET, BYTElfOutPrecision精确度: OUT_DEFAULT_PRECIS, OUT_DEVICE_PRECIS,(device) OU

42、T_RASTER_PRECIS,(Raser) OUT_TT_ONLY_PRECIS(only true type) OUT_TT_PRECIS(true type) BYTElfClipPrecision裁剪字符的方法: CLIP_DEFAULT_PRECIS BYTElfQuality字体质量: DEFAULT_QUALITY DRAFT_QUALITY, PROOF_QUALITY BYTElfPitchAndFamily宽度种类与字体家族,可以设置以下值: 宽度种类: DEFAULT_PITCH, VARIABLE_PITCH, FIXED_PITCH 字体家族: FF_DECORATIVE(Old English), FF_DONTCARE, FF_MODERN(Courier New), FF_ROMAN(TimesNewRoman), FF_SCRIPT(Script), FF_SWISS(Arial) TCHARlfFaceNameLF_FACESI ZE 字体名称 windows图形接口与绘图 获取字体尺寸信息 GetTextM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论