这次我们来把上一次通过API接口调用到的数据显示地更加便于阅读。
一、这次我们要用到GDI+,一个是图片绘制,一个是文字绘制,涉及到以下几个方法:
引用单元:
Winapi.GDIPAPI, Winapi.GDIPOBJ
声明变量:
GdiW: TGPGraphics; // GDI+对象变量
NowPen, AllPen: TGPPen; // 画刷变量
TitlePaint: TGPSolidBrush; // 文字绘制变量
Img, ImgSmall: TGPImage; // 绘制天气图标,用来调整绘制的图标大小
在绘制的时候做以下对象的创建
GdiW := TGPGraphics.Create(Canvas.Handle); // 创建GDI+对象
GdiW.SetSmoothingMode(SmoothingModeAntiAlias); // 折线消除锯齿
NowPen := TGPPen.Create(aclRed, 2); // 创建本地天气画笔对象
TitlePaint := TGPSolidBrush.Create(MakeColor(0, 0, 0)); // 设置当前天气字体颜色
TitleFont := TGPFont.Create('幼圆', 9); // 设置当前天气字体属性
数据获取:
和上一篇文章一样的方式用superobject、idhttp等获取,具体参考上一篇文章。
程序界面
二、具体实现代码如下:
程序主体包含,1个labelededit,1个button,1个paintbox,1个IdSSLIOHandlerSocketOpenSSL,1个IdHTTP。
use部分代码:
全局变量:
自定义函数:
button部分代码:
formcreate部分代码:
formpaint部分代码:
paintboxpaint部分代码:
labelededit部分代码:
以上代码做了一些小小的容错,主要是便于用户使用,尤其是对于那些电脑小白,程序的易用性和简洁性在面向大众的时候,决定了程序的使用量。
下面这个就是程序实际运行效果:
下面的这个程序,是我之前写的,用的是丫丫天气的api,但是这个api只免费7天,后期要收费,这两天还是可以用一下的,源码和程序都打包给各位参考。
总结:越简单的小程序,越要让用户操作起来觉得方便简洁,易于阅读。
本文今天用到了GDI+绘图,GDI+可以让程序更加美观,同时大家也可以根据今天的程序设计思路去为这个小程序增加更多功能。
源码地址:(不能发地址,只能这样了,各位将就吧)
代码及功能实现参考源:万一博客,百度搜索。
联系客服