C语言图形化编程 【二】

article/2025/9/30 22:45:26

C语言图形编程 二

  • 3 基本贴图
    • 3.1 声明一个存储图片的变量
    • 3.2 图片的路径
    • 3.3 显示图片
    • 3.4 透明贴图
  • 4 鼠标操作
    • 4.1 声明一个存储鼠标信息的变量
    • 4.2 获取鼠标
    • 4.3 分类讨论鼠标消息的来源

3 基本贴图

3.1 声明一个存储图片的变量

格式: IMAGE img;
//类型  变量名(你要贴的图片的名)

3.2 图片的路径

格式: loadimage(&img,char *imgUrl);
//第二个参数是图片的路径
让图片适应窗口
格式: loadimage(&img,char *imgUrl,int width,int height);
//width,height是用来设置图片的长和高,准确的来说是把图片压缩成你想要的大小

3.3 显示图片

格式: putimage(int x,int y,&img);
//x,y 控制贴图的位置
格式: putimage(int x,int y,int XX,int YY,&img,int XXX,int YYY);
//x,y 控制贴图的位置
//XX,YY是输出图片的大小
//XXX,YYY是控制从哪个位置开始拿

3.4 透明贴图

	IMAGE role;//用于存储源码的变量IMAGE roley;//用于存储掩码的变量//掩码位图就是一个黑白位图,黑色部分就是要显示的部分,白色部分就是要透明的部分经过//掩码运算后,即可将一个位图的背景色去掉而只保留内容部分 。 ↩loadimage(&role,"原码.png",300,200);//原图是一个黑底彩照loadimage(&roley,"掩码.jpg",300,200);//掩码图白底黑照putimage(0,0,&roley,SRCAND);//二进制的与运算putimage(0,0,&role,SRCPAINT);//二进制的或运算

4 鼠标操作

4.1 声明一个存储鼠标信息的变量

MOUSEMSG m;

4.2 获取鼠标

m=GetMouseMsg();

4.3 分类讨论鼠标消息的来源

鼠标消息:   m.uMsg
switch(m.uMsg)
{case WM_MOUSEMOVE://鼠标移动.........break;case WM_LBUTTONDOWN://鼠标左键........break;case WM_RBUTTONDOWN://鼠标右键.....
}

在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#include<string.h>
#include<graphics.h>
int main(void)
{initgraph(600,400);MOUSEMSG m;while(1){m=GetMouseMsg();switch(m.uMsg){case WM_MOUSEMOVE:break;case WM_LBUTTONDOWN://鼠标左键circle(m.x,m.y,50);//如果按鼠标左键的话,以当前鼠标为圆心画一个半径为50的圆break;case WM_RBUTTONDOWN:circle(m.x,m.y,100);//鼠标右键//如果按鼠标右键的话,以当前鼠标为圆心画一个半径为100的圆break;}}getchar();//让它暂停一下不然窗口一闪而过closegraph();return 0;
}

在这里插入图片描述


http://chatgpt.dhexx.cn/article/QddnkcPI.shtml

相关文章

基于C语言的图形化编程软件,图形化编程工具

原标题:图形化编程工具 1.产品介绍 唯众图形化编程工具是一款基于拖拽式图形化设计的可视化编程工具库,通过拖拽式图形化编程完成程序设计。作为一种易于掌握的图像化编程环境,是编程初学者学习和掌握程序设计方法的有力工具。用图形化编程方式去理解程序语言,可以让学生更…

C语言:编程打印图形

题目 编程打印以下图形: 代码 #include "stdio.h"void main() {char ch = A;int i,j;for(i=

c语言图形时钟编程,c语言程序+图形编程——打造简易的时钟

全程代码小编就在这里发出来了哈,最终的效果图, // c语言+图形编程 电脑时钟 //包含头文件 #include #include #include void Draw_Dial();//绘制静态的表盘 void Draw_Hand(int hour, int minute, int secend); //绘制表针 //主函数 int main() {initgraph

C语言图形编程--俄罗斯方块制作(一)详解

效果图 用C语言实现俄罗斯方块&#xff0c;需要先解决下面几个问题&#xff1a; 1、如何用C语言绘制图形界面 EasyX图形库(http://www.easyx.cn)即TC的图形库在VC下的移植。 包含库#include <graphics.h> 先初始化图形窗口 initgraph(WINDOW_WIDTH, WINDOW_HIGH) ;WINDOW…

C语言图形代码:三角、金字塔、圣诞树、爱心

在C语言的学习过程中&#xff0c;我们熟练掌握循环以后就可以使用循环编写&#xff0c;我们喜欢的图形代码啦&#xff01; 下面我向大家分别展示四种使用C语言循环编写的代码。 后两种都可以用来给自己的女朋友展示喔 1.三角形 2.金字塔 3.圣诞树 4.爱心 &#xff08;1&#…

linux下c语言图形界面实现,「分享」C语言如何编写图形界面

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 贴吧内经常有人问C语言是不是只能用于字符终端界面开发,不能用于图形界面。大家也都有回答,需要其他的库。MFC,GTK,QT。 本人近期刚用GTK库加上纯C写成了第一个LINUX实用程序。现在与大家分享: 主界面程序gmaxtrix.c #includ…

c语言图形时钟编程,c语言+图形编程——打造浅易的时钟

全程代码小编就在这里发出来了哈 // c语言图形编程 电脑时钟 //包罗头文件 #include #include #include #define PI 3.141592654 void Draw_Dial();//绘制静态的表盘 void Draw_Hand(int hour, int minute, int secend); //绘制表针 //主函数 int main() { initgraph(640, 4…

简单c语言图形程序设计,c语言简单图形编程

c语言编程如何实现图形化? 如果你是说编写用户界面的C语言编程,那就应该学习平台编程.主流平台有windows,linux等. 楼主是领会到C得要点了.C不像JAVA和C#,它们才叫编写应用程序,因为它们的库直接可以编写出程序的应用部分(比如用户界面,调用系统资源等). 但是C语言不能叫做 c语…

C语言图形编程|设置位置

一、对光标位置进行修改 1、通过自定义函数来实现将光标移动到指定位置 void gotoxy(int x,int y) {HANDLE hCon;hCon GetStdHandle(STD_OUTPUT_HANDLE);COORD Pos;Pos.X x;Pos.Y y;SetConsoleCursorPosition(hCon,Pos); } 代码优化: void gotoxy(int x,int y) {COORD P…

C语言图形化编程

画折线图 #include<stdio.h> #include<conio.h> #include<graphics.h> #include<stdlib.h>void hDrawk(char c[]); void vDrawk(char c[]); void Drawfline(int b[]); int xs48,ys50;void hDrawk(char c[]) {int i,j65;line(65,360,565,360);for(i0;i&…

C语言图形化编程 【一】

C语言图形化编程 一 一、绘图窗口1.1 加载头文件1.2 创建一个窗口1.3 关闭窗口1.4 窗口坐标1.5 颜色1.6 设置颜色1.6.1 背景颜色1.6.2 线颜色1.6.3 文字颜色1.6.4 填充颜色 二、基本的绘图2.1 画点函数2.2 画线函数2.3 画矩形函数非填充(空心&#xff09;填充(实心)有边界线无边…

数据结构——图的五种种类【无向图-有向图-简单图-完全无向图-有向完全图】

目录&#xff1a; 一&#xff1a;无向图 1.定义 2.图形化解释 3.结合​表达式介绍 二&#xff1a;有向图 1.定义 2.图形化解释 3.结合​表达式介绍 有向图和无向图区别&#xff1a; 三&#xff1a;简单图 1.定义 2.图形化解释 四&#xff1a;完全无向图 1.定义 …

完全二分图

G <V,E> V – 》 元素顶点集 E --》 连线边集 V X ∪Y X中的任一顶点与Y中每一个顶点均有且仅有唯一的一条边相连&#xff0c;则称G为完全二分图或完全偶图。

构造完全图

咕咕咕 由于我好久都没有独立思考了&#xff08;抄了好久题解&#xff09;&#xff0c;思维什么的早没有了。 看完题只能想到一种暴力&#xff1a;遍历LCA 题目给出的是一个最小生成树&#xff0c;我们可以从边入手&#xff0c;把每条边所连的左右两个点分别看做一个集合&#…

图(一)

图论 结论&#xff1a; 1.无向完全图&#xff1a;在顶点数给定为n的情况下&#xff0c;边数达到最大的n(n-1)/2条边。 2.有向完全图&#xff1a;在顶点数给定为n的情况下&#xff0c;有向边数达到最大的n(n-1)条边。 3.树是图的特例&#xff1a;无环的无向图 4.生成树有可能不…

完全图的生成树

经典证明&#xff1a;Prfer编码与Cayley公式(转Matrix67) Cayley公式是说&#xff0c;一个完全图K_n有n^(n-2)棵生成树&#xff0c;换句话说n个节点的带标号的无根树有n^(n-2)个。今天我学到了Cayley公式的一个非常简单的证明&#xff0c;证明依赖于Prfer编码&#xff0c;它是对…

完全多部图

解题思想&#xff1a; 对于图中所有节点&#xff0c;如果不相连&#xff0c;按照题意&#xff0c;必须在一个集合里&#xff1b; 所以其实可以从第一个节点入手&#xff0c;找出与该点不相邻点的所有节点组成一个集合&#xff1b; 判断剩余所有点&#xff0c;如果不和该集合中所…

有向完全图和强连通图的区别?

文章目录 首先了解概念区别在哪里&#xff1f;有向完全图和强连通图的区别&#xff1f; 其他概念&#xff1a; 首先了解概念 相邻关系&#xff1a;两个顶点之间存在一条边&#xff0c;则表示两个顶点具有相邻关系 路径&#xff1a;相邻顶点序偶所构成的序列 路径长度&#xff…

【数据结构】图的基本概念—无/有向图、权和网、完全图、路径与回路

&#x1f49f;作者简介&#xff1a;大家好呀&#xff01;我是路遥叶子&#xff0c;大家可以叫我叶子哦&#xff01;❣️ &#x1f4dd;个人主页&#xff1a;【路遥叶子的博客】 &#x1f3c6;博主信息&#xff1a;四季轮换叶&#xff0c;一路招摇胜&#xff01; 专栏 【安利…