提问分类 [EasyX]

提问

0

价值

1

回答

131

浏览

easyx出现错误

   libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng




ava
Y

2023-12-26

0

价值

1

回答

191

浏览

GetWHnd()函数 0xC0000005报错

---旧编译环境

win10+vs2017+easyx2018

---现编译环境 

win10+vs2022+easyx2023 release/debug x86

---错误提示如下

0x00951A45 处有未经处理的异常(在 MineSweeper.exe 中): 0xC0000005: 读取位置 0x00000378 时发生访问冲突。

---调用堆栈信息

>    MineSweeper.exe!Ge

ava
α0.

2023-11-3

0

价值

1

回答

273

浏览

EasyX如何获取关闭消息(WM_CLOSE)

我希望程式能在關閉前,先執行我要完成的內容

我嘗試用GetMessage获取關閉消息 ,但是無法成功获取

        MSG msg;
        while (1) {
            GetMessage(&msg, hwnd, 0, 0);
            if (msg.message == WM_CLOS


ava
josh

2023-10-25

0

价值

1

回答

306

浏览

error Easyx is only for C++报错,是用的Dev-C++编程的

这是Easyx源代码,具体如图

#ifndef __cplusplus
#error EasyX is only for C++(这里报错)
#endif
ava
Rare

2023-10-18

0

价值

1

回答

372

浏览

图片赋值(拷贝)问题

我在EasyX库IMAGE类的基础上写了一个支持透明度相关操作的图片类,下面是实现将这个图片类输出到某绘图设备上的print()函数。其中,为什么pointer[n]和debug_ptr[n](声明在被注释的代码处)(n就是一个正整数)不一样,并且pointer[n]是0x00000000。望大佬解决。

void print() {
	if (isshow) {
		IMAGE buffer = image;
		//DWORD* pointer = GetImageBuffer(&buffer);
		//

0

价值

1

回答

431

浏览

EasyX处理鼠标事件(反应迟钝)

环境:VC2022+EasyX

类封装的按钮功能,希望能实现鼠标左键松开执行一次事件,用bool变量isLeftButtonUp判断是否重复执行(不然点一次鼠标会执行好多次,不知道有没有其他能够避免这种情况的写法)。

但在实际运行时,刚运行会迟钝很久(推测是消息缓冲区有大量鼠标移动信息),连续点击正常,但是点一次后移动一会鼠标再点一次也会进入好几秒的延迟。

想请教一下该如何修改:

①有其他能判断左键松开一次执行一次事件的写法吗?

②如何解决这个鼠标处理的延迟,实现响应及时的“鼠标左键松开执行一次事件&rdq

0

价值

1

回答

395

浏览

绘制一个半透明的星形,但是进行缩放变大变大操作时,会有两条线重复绘制导治半透明产生两条线是填充问题,有什么方法可以改进吗?

下面是问题代码:?




// EasyX 简单缓冲区半透明画点,让你的绘图支持任意的透明度,达到让大家推波推润的效果。
// 2023 - 4 - 7 
// 作者:葉澜郡
// QQ:2250395955
#define WINVER 0x0A00
#define _WIN32_WINNT 0x0A00
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>
#inc
ava
随波逐流

2023-6-1

0

价值

3

回答

778

浏览

如何在原框体中播放视频

现在用以下代码可以实现播放视频,但是会默认打开一个新的框体

如何直接在原框体播放这个视频呢?

希望能直接提供一份代码

#include<graphics.h>
#include<cstring>
#include<stdio.h>
#include<easyx.h>
#include <conio.h>
#include<windef.h>//EasyX 图像库头文件,用于绘图、鼠标操作、键盘操作等功能
#includ
ava
初霁

2023-3-22

0

价值

1

回答

756

浏览

如何实现透明图片的镜像翻转

此处给出的代码改自"详解透明贴图和三元光栅操作 - CodeBus"(https://codebus.cn/yangw/transparent-putimage)

在坐标轴方向为默认的(1,1)的情况下,透明图片可以正常输出

但我想通过坐标轴取反来输出水平翻转的图片,如代码中所示的那样,运行程序后却没有看到任何图像数据(坐标轴取反后透明图片无法正常输出)

1

价值

1

回答

615

浏览

发现 EasyX 20220901 的新 bug,关于未创建窗口时 SetWorkingImage(0) 的问题

问题描述

通常,在对某个 IMAGE 对象绘制时,我们会先保存旧的 WorkingImage,然后在 SetWorkingImage 到待绘制的 IMAGE 对象。

这样,我们就可以在对 IMAGE 对象绘制后,使用 SetWorkingImage 将绘制目标恢复到原先的状态。

这是很常见的做法。但是,如果在没有创建绘图窗口的情况下,上述操作就会出现问题。

触发 bug 的代码

#include <graphics.h>

void
ava
huidong

2023-1-15

2

价值

1

回答

6366

浏览

win11 下 visual studio 运行 easyx 时无法使用控制台函数交互

正常情况下运行 easyx 时只会弹出 easyx 的图形窗口而不会弹出平时常出现的终端黑色窗口,但 win11 某次版本更新之后它会同时弹出这两个窗口,并且键盘交互只能在黑色的终端窗口中进行,没法对着 easyx 的图形窗口进行键盘交互,并且关闭黑色终端窗口的同时 easyx 的窗口也会随之关闭。

操作系统:Windows 11 家庭中文版,操作系统版本 22621.819

编译环境:Microsoft visual studio 2022 community,EasyX_20220901

以下代码是临时编写的,一个简单的提供键盘交互功能的 e

ava
氟拉基米尔

2022-11-25

0

价值

1

回答

708

浏览

小龙Dev-C++报错

小龙Dev-C++ 自带EasyX 报错 windows系统https://devcpp.gitee.io/manual/support-easyx.html

报错:

在此函数中: 'int main()':

12 2  [错误] 'getch' 未在此范围内声明

12 2  [注解] 建议替换为: 'gety'

#include &l
ava
vcxzgf

2022-11-2

0

价值

1

回答

746

浏览

easyx如何将多张图片播放成为视频

原本是想通过一个for循环将图片进行连续输出,然后通过延时来达到一个图片保留一段时间的效果,最后图片连续播放变成视频。

但是使用如下的函数时,图片根本就读取不了,现在就根本不知道下一步怎么办?求解答?

void image()
{
	//输出图片
	IMAGE img[60];					//定义一个(变量)对象;

	for(int i=1;i<59;i++)		//照片名字从1开始
	{
		//加载图片
		loadimage(&img[i], "./梅西 (i).png&q
ava
Time

2022-10-27

0

价值

1

回答

606

浏览

EasyX在dll中进行绘制保存图片问题,无法释放dll

操作环境:windwos10 & vs2017 & EasyX Library for C++ (Ver:20220116)

我希望可以在dll中进行绘制,我可以将点坐标传给参数,绘图与保存完全在dll中实现,然后通过接口去调用

在EasyX中,设备分两种,分别做了一种是默认的绘图窗口,另一种是IMAGE对象的测试

在同一台设备相同环境下,我将这段代码在dll导出程序export工程里以dll方式导出,在控制台应用工程load里进行调用时,可以成功执行绘图并保存,

但是执行完后却无法释放dll导致程序阻塞或者崩溃,我

ava
八至

2022-10-21

0

价值

2

回答

1623

浏览

键盘按键同时长按两个键时后按的键无效

我现在想做一个双人小游戏,我需要用awsd或者上下左右键控制两个人的行动,这样很大可能就会导致玩家长按上下左右键或者awsd键,然后现在出现了一个问题就是如果我两个人一起按键盘就会导致后按键盘那个动作无效,就是无法两个人同时长按键盘,我如果两边一起长按的话,只有一个会持续移动,但是如果此时我其中没有被移动的那个人重新按一下键盘,那么刚才持续移动那个会停止(实现过程就是下面的代码把printf换成我设计的人物移动代码,在这里只单独长按一个键可以正常移动)

但是我缩减代码的时候又遇到了个问题

下面是我缩减后的代码

我本来是打算弄一个,按W就显示w,按

ava
有毒

2022-9-12

0

价值

1

回答

780

浏览

请问绘图函数怎么封装进DLL

如果要将EasyX绘图函数封装进DLL,就必须要指定这些函数作用的父窗口

但是EasyX没有像Windows API那样通过传入窗口句柄实现绘图的函数

所以想问下有没有解决办法

#include <Windows.h>
#include <graphics.h>

#define DLL_API __declspec(dllexport)

DLL_API void FaceDraw1(bool f)
{
    setlinecolor(RGB(37, 75, 1
ava
System

2022-8-16

0

价值

1

回答

893

浏览

inputbox问题

编译环境是VScode+MinGW,GBK编码

想试一下inputbox,先直接复制了文档上的代码

#include <graphics.h>
#include <conio.h>

int main()
{
	// 初始化绘图窗口
	initgraph(640, 480);

	// 定义字符串缓冲区,并接收用户输入
	wchar_t s[10];
	InputBox(s, 10, L"请输入半径");

	// 将用户输入转换为数字
	int r = _w
ava
用户7b1f

2022-6-19

0

价值

1

回答

1056

浏览

easyx的输入法交互

win7下的控制台输入法候选界面是直接输出在控制台窗口最后一行的,我想在一个easyx界面实现这个效果

即通过easyx api获取按键,然后将拼音发送给输入法的dll,获得候选列表并将其渲染在我的窗口上(不显示输入法窗口),这可以实现吗?

ava
无名氏

2022-1-22

2

价值

1

回答

1196

浏览

关于结构体内数组元素过大引起的程序崩溃

大家好。

我的编译环境是VC++6.0

如下代码,如果代码正常运行,程序应该陷入无线循环。但他会崩溃,直接结束进程。如果把129501改成129500就没问题了。我想知道这个值的意义和原因。这样以后设计结构体时,才能更好地控制每个结构体内数组元素大小,不至于不小心超了,还一直找不到程序崩溃的原因。

# include <string>
using namespace std;

// 定义一个结构体
struct Node1
{
	double x[129501];	
};

ava
花毛茛

2022-1-12

技术讨论社区