[西门子] 想不想在C语言的运行窗口上添加一张图片?安排!

[复制链接]
查看191 | 回复0 | 2024-6-28 08:03:21 | 显示全部楼层 |阅读模式
>想不想在C语言的运行窗口上添加一张图片?
安排!
前面我们讲了如何在运行窗口上画圆、画点、画线以及画矩形、甚至对比了与C语言基础的输出函数,那么接下来就要进行一个真正的图片展示了。
C语言图形编辑第一步:画一个圆

C语言图形编辑第二步:画线、画点、画长方形!

比较C语言函数和easy X两个软件上的输出内容,究竟有那里不同?





在easy X软件编辑C语言程序,想要展示一张图片出来,应该怎么做?
下面详细的说一说

前提工作:
1、通过loadimage先加载图片
2、使用putimage输出到窗口上


loadimage函数:




void loadimage(IMAGE *pDstImg, LPCTSTR pImgFile, int nWidth = 0, int nHeight = 0, bool bResize = false);                    // Load image from a file (bmp/gif/jpg/png/tif/emf/wmf/ico)
void loadimage(IMAGE *pDstImg, LPCTSTR pResType, LPCTSTR pResName, int nWidth = 0, int nHeight = 0, bool bResize = false);    // Load image from resources (bmp/gif/jpg/png/tif/emf/wmf/ico)

IMAGE *pDstImg:表示着这个图片的全部信息的。加载的图片就是加载到这个地方
现在如果我们有一个已经放在项目下,名字叫qtz.png的图片,大小为108*108的,那么加载函数就可以这么调用:


loadimage(&img,".//qtz.png", 600,400,false);第一个参数是传入参数,因此需要加地址符,第二个参数因为再目录里同级,所以用./,如果是上级则用../,绝对路径当然也可以。需要注意的是,因为C语言中字符串转义字符的存在,这里需要写两个/



putimage函数:




void putimage(int dstX, int dstY, const IMAGE *pSrcImg, DWORD dwRop = SRCCOPY);                                              // Put image to device
void putimage(int dstX, int dstY, int dstWidth, int dstHeight, const IMAGE *pSrcImg, int srcX, int srcY, DWORD dwRop = SRCCOPY);     // Put image to device



工作原理:
我们想把一张图片加载显示到窗口上,首先把这张图片放到项目里或者某个绝对路径下,我们就可以使用loadimage函数先加载,即使得图片加载到内存中,然后再使用putimage输出到指定窗口的位置。


完整的代码可以这么写:














//微信公众号:工控小新#include <graphics.h>        // 引用图形库头文件#include <conio.h>int main(){    IMAGE img;    initgraph(640, 480);   // 创建绘图窗口,大小为 640x480 像素    loadimage(&img,".//qtz.png", 600,400,false);  //加载项目中logo.png的图片      putimage(10,10,&img);                           //向(10,10)位置开始输出此图片    getch();            // 按任意键继续    closegraph();           // 关闭绘图窗口    return 0;}

运行程序结果:





觉得有用的话,动动你们的小手,点个转发在看,非常感谢!!!




点赞加关注,学习不迷路
微信公众号|工控小新
EPLAN电气绘图、TIA博图基础 、CAD、C语言教学、单片机基础、三菱PLC ... 每日持续更新中




发现“分享”“赞”了吗,是兄弟,来戳我!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则