`
java-mans
  • 浏览: 11412525 次
文章分类
社区版块
存档分类
最新评论

造类.NET带垃圾回收功能的Delphi版GDIPlus

 
阅读更多

因为开发要用到GDIPlus,在网上收集到了毛泽发封装的GDIPlus源代码.封装的非常好.
为了和.NET进一步接近,把他们都改成接口模式的.能够实现垃圾回收.
在毛泽发的GDIPlus基础上把所有的GDIPlus对象都变成接口方式,生存期自动管理.可以像C#一样用完不管释放.
另外本开发包适用于Delphi5-Delphi2009中的任意版本.包括Delphi5和Delphi2009


正在上传到盒子上面.上传成功的话我贴出链接.

盒子太慢了.上传到了CSDN上.

http://download.csdn.net/source/765656

var
g : IGpGraphics;
RedPen : IGpPen;
Img : IGpImage;
r : TGpRectF;
begin
inherited;
g := NewGpGraphics(Canvas.Handle); //创建GDIPlus绘图对象
RedPen := NewGpPen(kcRed, 3.0);   //创建画笔
g.SmoothingMode := smHighQuality;//抗锯齿
g.DrawArc(Pens.Blue ,10, 10, 100, 100, 0, 360);//用系统内置的画笔画圆
g.DrawArc(RedPen ,30, 30, 100, 100, 0, 360); //用刚才创建的画笔画圆

g.DrawRectangle(RedPen, 100.0, 100.0, 30, 30); //画矩形
g.TranslateTransform(200.0, 200.0); //坐标平移
g.RotateTransform(30); //旋转30度
g.DrawRectangle(RedPen, - 50, - 50, 100, 100); //画矩形(偏30度)
Img := NewGpBitmap(ExtractFilePath(ParamStr(0)) + '美女24.bmp');;
r := GpRect(0.0, 0.0, 80, 80);
g.RotateTransform(30); //再旋转30度
g.ScaleTransform(0.2, 0.2); //缩小到0.2
g.DrawImage(Img, 150, 150); //贴美女图
g.RotateTransform(-90); //再旋转-90度
g.ScaleTransform(3, 3); //再扩大6倍
g.DrawImage(Img, 150,-150); //贴美女图
g.ResetTransform(); //恢复坐标

//注意,因为都是接口.所以前面创建出来的东西都不需要释放.离开函数自动会析构他们的
end;


分享到:
评论

相关推荐

    gdiplus Delphi 2006版

    gdiplus Delphi 2006版 原型为embarcadino网站上提供的gdiplus 1.2,该工具使用接口封装,支持GDI+1.0及1.1,比Delphi XE2自带的GDIPlus(GdipObj,GdipAI,GidpUtil)类好用的多, 本人只将Delphi XE2模板类的gdiplus接口...

    Delphi_GDIPlus_应用例子

    Delphi_GDIPlus_应用例子

    GDIPLUS for Delphi7

    在Delphi7平台下开发GDI+程序的套件

    GDIPlus的Delphi开发包

    能够实现垃圾回收. 在毛泽发的GDIPlus基础上把所有的GDIPlus对象都变成接口方式,生存期自动管理.可以像C#一样用完不管释放. 另外本开发包适用于Delphi5-Delphi2009中的任意版本.包括Delphi5和Delphi2009

    gdiplus for delphi 2009

    根据http://blog.csdn.net/maozefa/的源码,已改正错误,可以在delphi2009下运行。

    Gdiplus for Delphi(包含两个成熟版本,支持到delphi XE10)

    Gdiplus for Delphi(包含两个版本及全部单元文件),支持到delphi XE10,且都编译成功

    Gdiplus for Delphi 主文件单元

    修改了某些对构造方法CreatClone调用语句中,未用返回值类型作限定的BUG

    易语言模块gdiplus类模块.rar

    易语言模块gdiplus类模块.rar 易语言模块gdiplus类模块.rar 易语言模块gdiplus类模块.rar 易语言模块gdiplus类模块.rar 易语言模块gdiplus类模块.rar 易语言模块gdiplus类模块.rar

    Gdiplus for Delphi XE10.2

    这个GDIPlus可以用于Delphi XE 10.2(10.2.2和10.2.3),XE10.3暂未测试。

    GDIPlus for Delphi(包括demo和帮助)

    1、支持 GDI+1.1; 2、命名与结构与.Ne很接近,很多地方可以参考 msdn 的帮助. 3、基于接口进行功能调用. 4、使用了 Helper、运算符重载、泛型等 Delphi 的新语法, 所以只适用于 Delphi 2009 之后的版本.

    delphi gdiplus

    delphi 中用GDI时要用到的 包含了demos,doc,pas,redist四个文件夹,其中GDI设计时要用到的是pas文件夹里的DirectDraw.pas,GDIPAPI.pas,GDIPOBJ.pas,GDIPUTIL.pas,DirectX.inc,Jedi.inc 资源很齐全

    GDIPlus 6.0 For Delphi 2009 - XE4

    GDIPlus 6.0,包含Demo, Delphi 2009 - XE4均可用,不需要安装,只需要在Library Path 添加GDIPlus所在的路径即可。

    GDIPlus类2.1模块.rar

    GDIPlus类2.1模块.rar GDIPlus类2.1模块.rar GDIPlus类2.1模块.rar GDIPlus类2.1模块.rar GDIPlus类2.1模块.rar GDIPlus类2.1模块.rar

    GDIPlus类2.4.1类易语言必用哦

    GDIPlus类2.4.1类易语言必用哦 这个版本是最新的

    GDIPlus类2.4.1.e

    GDIPlus类2.4.1.e

    易语言GDIPlus类源码

    易语言调用GDIPlus类的所有API源码

    旧版GDIPlus库适合delphi7等

    老版本的gdi+,可用于delphi7至2006、2007 Win32 的版本.

    GdiPlus_1.1.zip

    GDIPlus1.1 for Delphi

    GdiPlus1.2与GDI+控件包

    使用过gdi+的人都知道它的强大,至于GdiPlus,如果你使用的delphi是2009之后的版本,那么用GdiPlus就比用gdi+方便多了。很明显的一点是GdiPlus提倡使用接口而不是类,这样一来就可以大大减少释放语句的使用。

    Gdiplus类3.1模块源码

    Gdiplus模块是大家都很喜欢的模块,它的主要用途大家都知道,有需要的请下载

Global site tag (gtag.js) - Google Analytics