【UE】UEC++获取屏幕颜色GetPixelFromCursorPosition()

目录

【UE】UE C++ 获取屏幕颜色GetPixelFromCursorPosition()

一、函数声明与定义

二、函数的调用

三、运行结果


【UE】UE C++ 获取屏幕颜色GetPixelFromCursorPosition()

一、函数声明与定义

创建一个蓝图方法库方法 GetPixelFromCursorPosition(),并给他指定UFUNCTION(BlueprintCallable),这样就可以在蓝图里对函数做简单测试。

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "ColorPickFunctionLibrary.generated.h"

UCLASS()
class COLORPICK_API UColorPickFunctionLibrary : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
public:
	UFUNCTION(BlueprintCallable)
	static FColor GetPixelFromCursorPosition();
};
#include "ColorPickFunctionLibrary.h"
#include "windows/AllowWindowsPlatformTypes.h"
#include "WinUser.h"

FColor UColorPickFunctionLibrary::GetPixelFromCursorPosition()
{
	Windows::HDC hdc = ::GetDC(nullptr);
	POINT p;
	GetCursorPos(&p);
	COLORREF CursorPixel = ::GetPixel(hdc, p.x, p.y);
	::ReleaseDC(nullptr, hdc);
	return FColor(GetRValue(CursorPixel), GetGValue(CursorPixel), GetBValue(CursorPixel));
}

二、函数的调用

为了检测获取的颜色,先准备一些文件:

1、UI

声明函数ShowColor(FLinearColor Color)来测试获取到的颜色。

2、Controller

说明一下,为了测试的方便,所以把创建UI这些操作全部都写在了Controller里面。

当点击鼠标左键的时候,就可以把从屏幕获取到的颜色,调用UI的ShowColor(FLinearColor Color)方法了。

三、运行结果

因为这次测试没有检测获取范围,所以全屏都可以获取颜色,实际开发的时候可以限制获取范围,只能在某个ColorBox范围内获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/211716.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 STM32 微控制器读取光电传感器数据的实现方法

本文介绍了如何使用 STM32 微控制器读取光电传感器数据的实现方法。通过配置和使用STM32的GPIO和ADC功能,可以实时读取光电传感器的模拟信号并进行数字化处理。本文将介绍硬件连接和配置,以及示例代码,帮助开发者完成光电传感器数据的读取。 …

算法工程师面试八股(搜广推方向)

文章目录 机器学习线性和逻辑回归模型逻辑回归二分类和多分类的损失函数二分类为什么用交叉熵损失而不用MSE损失?偏差与方差Layer Normalization 和 Batch NormalizationSVM数据不均衡特征选择排序模型树模型进行特征工程的原因GBDTLR和GBDTRF和GBDTXGBoost二阶泰勒…

MATLAB R2022b 安装

文章用于学习记录 文章目录 前言下载解压安装包总结 前言 下载解压安装包 MATLAB R2022b —— A9z3 装载(Mount) MATLAB_R2022b_Win64.iso 打开装载好的 DVD 驱动器并找到 setup,单击鼠标右键以管理员身份运行: 点击窗口右上角的 高级选项下拉框&#…

Docker 镜像及其命令

文章目录 镜像Docker 镜像加载原理联合文件系统bootfs和rootfs镜像分层 镜像分层的优势容器层常用命令 镜像 镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境&#xff…

AirServer怎么用?如何AirServer进行手机投屏

什么是 AirServer? AirServer 是适用于 Mac 和 PC 的先进的屏幕镜像接收器。 它允许您接收 AirPlay 和 Google Cast 流,类似于 Apple TV 或 Chromecast 设备。AirServer 可以将一个简单的大屏幕或投影仪变成一个通用的屏幕镜像接收器 ,是一款…

深入理解Java中的锁机制

引言 大家好,我是小黑。今天咱们来聊聊Java中的锁机制,这可是并发编程的核心。你知道吗,在并发编程的世界里,正确地使用锁就像是掌握了一把神奇的钥匙,它能帮咱们在多线程的混战中保持秩序,防止数据被乱改…

实用工具网站合集值得收藏![搜嗖工具箱]

最近一段时间有点忙,一直没有更新在此给大家说声抱歉哈,有些小伙伴儿私信说想要用到的工具,茶壶儿也会尽可能满足大家!今天我们要分享的工具主要有以下几款,我们来一起看一下吧? 一帧秒创 https://aigc.y…

2015年五一杯数学建模C题生态文明建设评价问题解题全过程文档及程序

2015年五一杯数学建模 C题 生态文明建设评价问题 原题再现 随着我国经济的迅速发展,生态文明越来越重要,生态文明建设被提到了一个前所未有的高度。党的十八大报告明确提出要大力推进生态文明建设,报告指出“建设生态文明,是关系…

93基于matlab的萤火虫算法优化支持向量机(GSA-SVM)分类模型

基于matlab的萤火虫算法优化支持向量机(GSA-SVM)分类模型,以分类精度为优化目标优化SVM算法的参数c和g,输出分类可视化结果。数据可更换自己的,程序已调通,可直接运行。 93萤火虫算法优化支持向量机 (xiaoh…

网上商城、宠物商城源码(Java)

javaWebjsp网上书城以及宠物商城源码,功能有购物车、收藏以及下单等等功能 带后台管理功能 运行示意图:

Docker中部署并启动RabbitMQ

目的 由于最近频繁更换云服务器,导致环境啥的都需要重新配置,关于RabbitMQ,我在看其他博主的文章时,总是不能第一时间找到想要的配置方法(也不是没有,只是花的时间太久),于是打算自己…

前端入门(四)Ajax、Promise异步、Axios通信、vue-router路由、组件库

文章目录 AjaxAjax特点 Promise 异步编程(缺)Promise基本使用状态 - PromiseState结果 - PromiseResult AxiosVue中使用AxiosAxios请求方式getpostput和patchdelete并发请求 Vue路由 - vue-router单页面Web应用(single page web application&…

如何确定短线的买入卖出时机?

短线投资制胜的一个关键能力,就是精准地找到买入卖出时机。那么,怎么样才能获得这种关键能力呢? 在这节课里,我们将给大家梳理一下常见的短线买入卖出时机,并通过案例讲解帮助大家理解。话不多说,赶紧进入主…

Redis高效缓存:加速应用性能的利器

目录 引言 1. Redis概述 1.1 什么是Redis? 1.2 Redis的特点 2. Redis在缓存中的应用 2.1 缓存的重要性 2.2 Redis作为缓存的优势 2.3 缓存使用场景 3. Redis在实时应用中的应用 3.1 实时数据处理的挑战 3.2 Redis的实时数据处理优势 3.3 实时应用中的Red…

半监督节点分类上的HyperGCN

1.Title HyperGCN: Hypergraph Convolutional Networks for Semi-Supervised Classification(Naganand Yadati、Prateek Yadav、Madhav Nimishakavi、Anand Louis、Partha Talukdar)【ACM Transactions on Knowledge Discovery from Data 2022】 2.Conc…

canvas基础:绘制贝塞尔曲线

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 bez…

持续集成交付CICD:CentOS 7 安装 Sonarqube9.6

目录 一、实验 1.CentOS 7 安装 Sonarqube9.6 二、问题 1.安装postgresql13服务端报错 2.postgresql13创建用户报错 一、实验 1.CentOS 7 安装 Sonarqube9.6 (1)下载软件及依赖包 ①Sonarqube9.6下载地址 https://binaries.sonarsource.com/Dis…

【Go语言反射reflect】

Go语言反射reflect 一、引入 先看官方Doc中Rob Pike给出的关于反射的定义: Reflection in computing is the ability of a program to examine its own structure, particularly through types; it’s a form of metaprogramming. It’s also a great source of …

STM32F407-14.3.8-01强制输出模式

强制输出模式 在输出模式(TIMx_CCMRx 寄存器中的 CCxS② 位 00)下,可直接由软件将每个输出比较信号(OCxREF④ 和 OCx⑥/OCxN⑦)强制设置为有效电平或无效电平,而无需考虑输出比较寄存器和计数器之间的任何…

【开源】基于JAVA语言的桃花峪滑雪场租赁系统

项目编号: S 036 ,文末获取源码。 \color{red}{项目编号:S036,文末获取源码。} 项目编号:S036,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设…