求助问题
功能说明:该程序是一个基于易语言开发的GDI+图形绘制功能封装类库,核心目标是为易语言开发者提供一套面向对象、结构清晰、可复用的Windows GDI+绘图接口封装。整个程序并非独立运行的应用程序,而是一组用于图形渲染的底层支持类模块,主要服务于需要高性能2D绘图(如自绘控件、界面美化、图像处理、图表绘制等)的易语言项目。
程序由三个核心公开类组成:
1. **Gdiplus图1**(对应GdiplusGraphics类):封装GDI+图形上下文(Graphics)对象。提供初始化/销毁生命周期管理;支持从窗口句柄(qqqw)、图像对象(we34)创建Graphics;暴露GetNativeGraphics供底层调用;并封装了常用绘图操作,包括:直线绘制(fgrttre)、矩形填充(sddfe)与描边(cvrfre)、字符串绘制(frrgret)、多尺寸图像绘制(sdfewrw、dfertu、dfewrw)、文本渲染模式设置(置文本呈现模式)等。所有方法均通过调用原生GdipXXX API实现,且统一使用内部维护的nativeGraphics句柄,确保状态一致性和资源安全。
2. **Gdiplus画刷**(对应GdiplusPen类):封装GDI+画笔(Pen)对象。提供基于ARGB颜色和线宽创建实心画笔(hjui);支持动态修改画笔颜色(sjkdhue);通过SetNativePen/GetNativePen管理原生GdipPen句柄,并在销毁时自动释放资源(_销毁中隐含调用GdipDeletePen逻辑,虽代码被注释但语义明确)。
3. **Gdiplus画笔**(实际应为GdiplusBrush类,命名存在混淆):封装GDI+画刷(Brush)对象。提供纯色画刷创建(vbfgrt)、颜色动态设置(hffytyt)、线性渐变画刷创建(cdddffe,函数名截断但参数含PointF起点/终点及ARGB色,符合GdipCreateLineBrush特征);通过SetNativeBrush/GetNativeBrush管理nativeBrush句柄,并在销毁(_销毁)中显式调用GdipDeleteBrush确保资源释放。
此外,顶层程序集Gdiplus包含全局初始化与销毁占位,体现类库整体生命周期意识。所有子程序均标注“公开”,表明其设计为对外提供服务的API;大量使用Gdiplus文件、Gdiplus字体、Gdiplus画刷等自定义类型参数,构建了完整的GDI+对象依赖链;函数命名虽部分采用无意义字母组合(如we34、qqqw、fgrttre),但结合参数、调用关系及GDI+ API惯例,可明确其功能语义(如qqqw→hwnd→CreateFromHWND;we34→image→GetImageGraphicsContext)。
综上,该程序本质是一个轻量级、面向对象的易语言GDI+绘图SDK,屏蔽了Windows GDI+原始C风格API的复杂性与资源管理细节,使开发者能以更直观的方式(如“画笔.创建(颜色, 宽度)”、“图形.画直线(画笔, x1,y1,x2,y2)”)进行高质量2D图形渲染,适用于桌面软件界面自绘、实时图表、图像标注、游戏简易渲染等场景。
======Gdiplus图1
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 销毁
| |
| |------ SetNativeGraphics
| |
| |------ we34
| |
| |------ qqqw
| |
| |------ GetNativeGraphics
| |
| |------ fgrttre
| |
| |------ 置文本呈现模式
| |
| |------ frrgret
| |
| |------ sddfe
| |
| |------ cvrfre
| |
| |------ sdfewrw
| |
| |------ dfertu
| |
| |------ dfewrw
| |
| |
======Gdiplus画刷
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ hjui
| |
| |------ GetNativePen
| |
| |------ SetNativePen
| |
| |------ sjkdhue
| |
| |
======Gdiplus
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |
======Gdiplus画笔
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 销毁
| |
| |------ vbfgrt
| |
| |------ GetNativeBrush
| |
| |------ SetNativeBrush
| |
| |------ hffytyt
| |
| |------ cdddffe
| |
| |
======Gdiplus字体
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 销毁
| |
| |------ 创建
| |
| |------ GetNativeFont
| |
| |------ SetNativeFont
| |
| |
======GdiplusFontFamily
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 销毁
| |
| |------ 创建_自名称
| |
| |------ GetNativeFamily
| |
| |------ SetNativeFamily
| |
| |
======Gdiplus文件
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 销毁
| |
| |------ GetNativeImage
| |
| |------ SetNativeImage
| |
| |------ werer
| |
| |------ cddfe
| |
| |
======字节流
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 释放字节流
| |
| |------ 创建字节流
| |
| |------ 取字节流指针
| |
| |------ 取字节流尺寸
| |
| |------ 取出字节集
| |
| |
======返回窗口
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 还原
| |
| |------ 初始化
| |
| |------ 调用旧窗口过程
| |
| |
======窗口程序集1
| |
| |------ ANSI2USC
| |
| |------ 画文本
| |
| |------ GDIPlus装载
| |
| |------ GDIPlus卸载
| |
| |------ A2W
| |
| |------ W2A
| |
| |------ deryui
| |
| |------ __启动窗口_创建完毕
| |
| |------ sunkkj
| |
| |------ skjh
| |
| |------ slueh
| |
| |------ _启动窗口_消息处理
| |
| |------ _列表框_消息处理
| |
| |------ 画项目
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_尺寸被改变
| |
| |------ _列表框_鼠标位置被移动
| |
| |------ _列表框_插入项目
| |
| |------ _列表框_删除项目
| |
| |------ GetCurrectID
| |
| |------ 取根域名
| |
| |------ _列表框_被双击
| |
| |
======调用的Dll
| |
| |---[dll]------ SetWindowLongA
| |
| |---[dll]------ CallWindowProcA
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ GlobalSize
| |
| |---[dll]------ GlobalReAlloc
| |
| |---[dll]------ CreateStreamOnHGlobal
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ GlobalAlloc
| |
| |---[dll]------ GlobalLock
| |
| |---[dll]------ GlobalUnlock
| |
| |---[dll]------ GlobalFree
| |
| |---[dll]------ CLSIDFromString
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ GdipAlloc
| |
| |---[dll]------ GdipFree
| |
| |---[dll]------ GdipFlush
| |
| |---[dll]------ GdipCreateFromHDC
| |
| |---[dll]------ GdipCreateFromHDC2
| |
| |---[dll]------ GdipCreateFromHWND
| |
| |---[dll]------ GdipCreateFromHWNDICM
| |
| |---[dll]------ GdipDeleteGraphics
| |
| |---[dll]------ GdipGetDC
| |
| |---[dll]------ GdipReleaseDC
| |
| |---[dll]------ GdipSetCompositingMode
| |
| |---[dll]------ GdipGetCompositingMode
| |
| |---[dll]------ GdipSetRenderingOrigin
| |
| |---[dll]------ GdipGetRenderingOrigin
| |
| |---[dll]------ GdipSetCompositingQuality
| |
| |---[dll]------ GdipGetCompositingQuality
| |
| |---[dll]------ GdipSetSmoothingMode
| |
| |---[dll]------ GdipGetSmoothingMode
| |
| |---[dll]------ GdipSetPixelOffsetMode
| |
| |---[dll]------ GdipGetPixelOffsetMode
| |
| |---[dll]------ GdipSetTextRenderingHint
| |
| |---[dll]------ GdipGetTextRenderingHint
| |
| |---[dll]------ GdipSetTextContrast
| |
| |---[dll]------ GdipGetTextContrast
| |
| |---[dll]------ GdipSetInterpolationMode
| |
| |---[dll]------ GdipGetInterpolationMode
| |
| |---[dll]------ GdipSetWorldTransform
| |
| |---[dll]------ GdipResetWorldTransform
| |
| |---[dll]------ GdipMultiplyWorldTransform
| |
| |---[dll]------ GdipTranslateWorldTransform
| |
| |---[dll]------ GdipScaleWorldTransform
| |
| |---[dll]------ GdipRotateWorldTransform
| |
| |---[dll]------ GdipGetWorldTransform
| |
| |---[dll]------ GdipResetPageTransform
| |
| |---[dll]------ GdipGetPageUnit
| |
| |---[dll]------ GdipGetPageScale
| |
| |---[dll]------ GdipSetPageUnit
| |
| |---[dll]------ GdipSetPageScale
| |
| |---[dll]------ GdipGetDpiX
| |
| |---[dll]------ GdipGetDpiY
| |
| |---[dll]------ GdipTransformPoints
| |
| |---[dll]------ GdipTransformPointsI
| |
| |---[dll]------ GdipGetNearestColor
| |
| |---[dll]------ GdipCreateHalftonePalette
| |
| |---[dll]------ GdipDrawLine
| |
| |---[dll]------ GdipDrawLineI
| |
| |---[dll]------ GdipDrawLines
| |
| |---[dll]------ GdipDrawLinesI
| |
| |---[dll]------ GdipDrawArc
| |
| |---[dll]------ GdipDrawArcI
| |
| |---[dll]------ GdipDrawBezier
| |
| |---[dll]------ GdipDrawBezierI
| |
| |---[dll]------ GdipDrawBeziers
| |
| |---[dll]------ GdipDrawBeziersI
| |
| |---[dll]------ GdipDrawRectangle
| |
| |---[dll]------ GdipDrawRectangleI
| |
| |---[dll]------ GdipDrawRectangles
| |
| |---[dll]------ GdipDrawRectanglesI
| |
| |---[dll]------ GdipDrawEllipse
| |
| |---[dll]------ GdipDrawEllipseI
| |
| |---[dll]------ GdipDrawPie
| |
| |---[dll]------ GdipDrawPieI
| |
| |---[dll]------ GdipDrawPolygon
| |
| |---[dll]------ GdipDrawPolygonI
| |
| |---[dll]------ GdipDrawPath
| |
| |---[dll]------ GdipDrawCurve
| |
| |---[dll]------ GdipDrawCurveI
| |
| |---[dll]------ GdipDrawCurve2
| |
| |---[dll]------ GdipDrawCurve2I
| |
| |---[dll]------ GdipDrawCurve3
| |
| |---[dll]------ GdipDrawCurve3I
| |
| |---[dll]------ GdipDrawClosedCurve
| |
| |---[dll]------ GdipDrawClosedCurveI
| |
| |---[dll]------ GdipDrawClosedCurve2
| |
| |---[dll]------ GdipDrawClosedCurve2I
| |
| |---[dll]------ GdipGraphicsClear
| |
| |---[dll]------ GdipFillRectangle
| |
| |---[dll]------ GdipFillRectangleI
| |
| |---[dll]------ GdipFillRectangles
| |
| |---[dll]------ GdipFillRectanglesI
| |
| |---[dll]------ GdipFillPolygon
| |
| |---[dll]------ GdipFillPolygonI
| |
| |---[dll]------ GdipFillPolygon2
| |
| |---[dll]------ GdipFillPolygon2I
| |
| |---[dll]------ GdipFillEllipse
| |
| |---[dll]------ GdipFillEllipseI
| |
| |---[dll]------ GdipFillPie
| |
| |---[dll]------ GdipFillPieI
| |
| |---[dll]------ GdipFillPath
| |
| |---[dll]------ GdipFillClosedCurve
| |
| |---[dll]------ GdipFillClosedCurveI
| |
| |---[dll]------ GdipFillClosedCurve2
| |
| |---[dll]------ GdipFillClosedCurve2I
| |
| |---[dll]------ GdipFillRegion
| |
| |---[dll]------ GdipDrawImage
| |
| |---[dll]------ GdipDrawImageI
| |
| |---[dll]------ GdipDrawImageRect
| |
| |---[dll]------ GdipDrawImageRectI
| |
| |---[dll]------ GdipDrawImagePoints
| |
| |---[dll]------ GdipDrawImagePointsI
| |
| |---[dll]------ GdipDrawImagePointRect
| |
| |---[dll]------ GdipDrawImagePointRectI
| |
| |---[dll]------ GdipDrawImageRectRect
| |
| |---[dll]------ GdipDrawImageRectRectI
| |
| |---[dll]------ GdipDrawImagePointsRect
| |
| |---[dll]------ GdipDrawImagePointsRectI
| |
| |---[dll]------ GdipEnumerateMetafileDestPoint
| |
| |---[dll]------ GdipEnumerateMetafileDestPointI
| |
| |---[dll]------ GdipEnumerateMetafileDestRect
| |
| |---[dll]------ GdipEnumerateMetafileDestRectI
| |
| |---[dll]------ GdipEnumerateMetafileDestPoints
| |
| |---[dll]------ GdipEnumerateMetafileDestPointsI
| |
| |---[dll]------ GdipEnumerateMetafileSrcRectDestPoint
| |
| |---[dll]------ GdipEnumerateMetafileSrcRectDestPointI
| |
| |---[dll]------ GdipEnumerateMetafileSrcRectDestRect
| |
| |---[dll]------ GdipEnumerateMetafileSrcRectDestRectI
| |
| |---[dll]------ GdipEnumerateMetafileSrcRectDestPoints
| |
| |---[dll]------ GdipEnumerateMetafileSrcRectDestPointsI
| |
| |---[dll]------ GdipPlayMetafileRecord
| |
| |---[dll]------ GdipSetClipGraphics
| |
| |---[dll]------ GdipSetClipRect
| |
| |---[dll]------ GdipSetClipRectI
| |
| |---[dll]------ GdipSetClipPath
| |
| |---[dll]------ GdipSetClipRegion
| |
| |---[dll]------ GdipSetClipHrgn
| |
| |---[dll]------ GdipResetClip
| |
| |---[dll]------ GdipTranslateClip
| |
| |---[dll]------ GdipTranslateClipI
| |
| |---[dll]------ GdipGetClip
| |
| |---[dll]------ GdipGetClipBounds
| |
| |---[dll]------ GdipGetClipBoundsI
| |
| |---[dll]------ GdipIsClipEmpty
| |
| |---[dll]------ GdipGetVisibleClipBounds
| |
| |---[dll]------ GdipGetVisibleClipBoundsI
| |
| |---[dll]------ GdipIsVisibleClipEmpty
| |
| |---[dll]------ GdipIsVisiblePoint
| |
| |---[dll]------ GdipIsVisiblePointI
| |
| |---[dll]------ GdipIsVisibleRect
| |
| |---[dll]------ GdipIsVisibleRectI
| |
| |---[dll]------ GdipSaveGraphics
| |
| |---[dll]------ GdipRestoreGraphics
| |
| |---[dll]------ GdipBeginContainer
| |
| |---[dll]------ GdipBeginContainerI
| |
| |---[dll]------ GdipBeginContainer2
| |
| |---[dll]------ GdipEndContainer
| |
| |---[dll]------ GdipGetMetafileHeaderFromWmf
| |
| |---[dll]------ GdipGetMetafileHeaderFromEmf
| |
| |---[dll]------ GdipGetMetafileHeaderFromFile
| |
| |---[dll]------ GdipGetMetafileHeaderFromStream
| |
| |---[dll]------ GdipGetMetafileHeaderFromMetafile
| |
| |---[dll]------ GdipGetHemfFromMetafile
| |
| |---[dll]------ GdipCreateStreamOnFile
| |
| |---[dll]------ GdipCreateMetafileFromWmf
| |
| |---[dll]------ GdipCreateMetafileFromEmf
| |
| |---[dll]------ GdipCreateMetafileFromFile
| |
| |---[dll]------ GdipCreateMetafileFromWmfFile
| |
| |---[dll]------ GdipCreateMetafileFromStream
| |
| |---[dll]------ GdipRecordMetafile
| |
| |---[dll]------ GdipRecordMetafileI
| |
| |---[dll]------ GdipRecordMetafileFileName
| |
| |---[dll]------ GdipRecordMetafileFileNameI
| |
| |---[dll]------ GdipRecordMetafileStream
| |
| |---[dll]------ GdipRecordMetafileStreamI
| |
| |---[dll]------ GdipSetMetafileDownLevelRasterizationLimit
| |
| |---[dll]------ GdipGetMetafileDownLevelRasterizationLimit
| |
| |---[dll]------ GdipGetImageDecodersSize
| |
| |---[dll]------ GdipGetImageDecoders
| |
| |---[dll]------ GdipGetImageEncodersSize
| |
| |---[dll]------ GdipGetImageEncoders
| |
| |---[dll]------ GdipComment
| |
| |---[dll]------ GdipCloneBrush
| |
| |---[dll]------ GdipDeleteBrush
| |
| |---[dll]------ GdipGetBrushType
| |
| |---[dll]------ GdipCreateSolidFill
| |
| |---[dll]------ GdipSetSolidFillColor
| |
| |---[dll]------ GdipGetSolidFillColor
| |
| |---[dll]------ GdipCreatePen1
| |
| |---[dll]------ GdipCreatePen2
| |
| |---[dll]------ GdipClonePen
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。