⭐Unity 读取本地图片再区域裁剪

现在需求是将本地的图片读取之后再区域截图成新的图片

话不多说直接上代码

using UnityEngine;
using System.IO;public class LocalRegionCapture : MonoBehaviour
{public string fullScreenImagePath = "Assets/SavedImages/fullScreenScreenshot.png";public string localRegionImagePath = "Assets/SavedImages/localRegionScreenshot.png";public UnityEngine.Rect localRegionRect = new UnityEngine.Rect(100, 100, 200, 200); // Adjust the region as neededprivate void Start(){CaptureLocalRegionAndSave();}private void CaptureLocalRegionAndSave(){// Load the full screen imageTexture2D fullScreenTexture = LoadFullScreenImage();// Extract the local region from the full screen imageTexture2D localRegionTexture = ExtractLocalRegion(fullScreenTexture, localRegionRect);// Save the local region image to fileSaveTextureToFile(localRegionTexture, localRegionImagePath);// Clean upDestroy(fullScreenTexture);Destroy(localRegionTexture);}private Texture2D LoadFullScreenImage(){// Load the full screen imagebyte[] bytes = File.ReadAllBytes(fullScreenImagePath);Texture2D texture = new Texture2D(2, 2);texture.LoadImage(bytes);return texture;}private Texture2D ExtractLocalRegion(Texture2D fullScreenTexture, UnityEngine.Rect regionRect){// Create a new texture for the local regionTexture2D localRegionTexture = new Texture2D((int)regionRect.width, (int)regionRect.height, TextureFormat.RGB24, false);// Read pixels from the full screen image within the specified regionlocalRegionTexture.SetPixels(fullScreenTexture.GetPixels((int)regionRect.x, (int)regionRect.y, (int)regionRect.width, (int)regionRect.height));localRegionTexture.Apply();return localRegionTexture;}private void SaveTextureToFile(Texture2D texture, string filePath){byte[] bytes = texture.EncodeToPNG();File.WriteAllBytes(filePath, bytes);Debug.Log("Local region screenshot saved at: " + filePath);}
}

代码挂载后可根据需求调整裁剪位置和裁剪大小

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【PyQt学习篇 · ⑭】:QTableView的使用

文章目录 QTableView的使用示例 QTableView的使用 QTableView 是 PyQt 中用于显示表格数据的窗口部件,它提供了一个灵活的方式来显示和编辑数据。下面是一些关于 QTableView 的使用的具体信息: 创建 QTableView 对象: from PyQt5.QtWidgets …

Mac 生成Android签名证书 .keystore文件

工具下载地址 https://www.oracle.com/java/technologies/downloads/#jdk21-mac1. 找到安装jdk的路径,并进入bin目录下 1.1 查找JDK命令 /usr/libexec/java_home -v结果为: java_home: option requires an argument -- v /Library/Java/JavaVirtualMachines/jdk…

python/C 生成beta分布的随机数

python/C 生成beta分布的随机数 文章目录 python/C 生成beta分布的随机数前言一、beta分布理论知识二、python 生成服从beta分布的随机数三、C语言生成服从beta分布的随机数 前言 想把一个算法用C语言实现,其中涉及到了beta分布取随机数,记录一下结果 一…

雀巢困在业绩和质量里

撰稿|行星 来源|贝多财经 雀巢集团CEO马克施奈德曾在2023年中报中表示,后疫情时代居家消费已恢复常态,从而消除了制约雀巢部分品类增长的阻碍。 但就雀巢前三季度财报而言,该公司在全球及大中华区的销售额均有所下降,有机增长主…

如何使用Java的GeoTools地理库计算WGS84坐标下的两个经纬度之间得距离

介绍 本章讲解如何使用Java的GeoTools地理库计算基于WGS84坐标的两点之间的距离。适用于后台服务的距离计算。 GeoTools介绍 GeoTools是开源的Java地理信息计算库。GeoServer地图引擎就是基于GeoTools库构建得地图服务,可以说非常强大。 官网地址:https://docs.geotools.o…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现Raw格式的图像保存(C#)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK实现Raw格式的图像保存(C#) Baumer工业相机Baumer工业相机通过SDK实现Raw格式的图像保存的技术背景通过SDK获取相机信息的代码分析Baumer工业相机回调函数里保存原始图像数据Baumer保存Raw图像格式重要核心代…

TikTok真题第1天 | 666.路径和IV、 207.课程安排、210.课程安排

666.路径和IV 题目链接:666.路径和IV 解法: 参考这篇题解:【LeetCode - 666】路径和 IV_力扣666路径总和4-CSDN博客 关键点在于: (1)使用map来存node:key 为整数的前两位,value…

龙芯loongarch64服务器编译安装paddlepaddle

前言 PaddlePaddle (Parallel Distributed Deep Learning,中文名飞桨)是百度公司推出的开源,易学习,易使用的分布式深度学习平台,现阶段各行各业均追求国产化,软件行业也一样,所有需要在龙芯服务器上编译安装paddlepaddle。 官方教程 官方教程里面很多没有讲解到,安…

SQL编写规范及性能排查一些方法

SQL 语句编写规范 避免使用select *,对于宽表来说,这是灾难;严禁不加任何where条件读取数据;MySQL中的text类型字段独立存储,数据量少的表除外:Where条件中的过滤条件字段上严禁使用任何函数,包…

ubuntu 搭建本地私有pip源

# 搭建本地私有pip源 pip install pip2pi# 创建目录 mkdir /data/work/PyPip/ mkdir /data/work/PyPip/packages cd /data/work/PyPip/# 创建需要从外网源同步的package touch requirements_roop.txt# 批量同步 pip2tgz /data/work/PyPip/packages -r requirements_roop.txt# 同…

【JS】按照a>b>c>d>e>f的优先级,将a,b,c,d,e,f元素进行筛选,选出三个不为空字符的元素进行字符拼接

设计思路: 1、定义一个数组,把元素按照优先级进行排序; 2、 使用 filter() 方法过滤掉空字符串元素,得到一个新的数组; 3、在排序函数中,循环数组,使用 indexOf() 方法获取元素 a 和 b 在数组中的索引&a…

描述一个bug及定义bug的级别

(一)描述一个bug 描述一个bug,需要以下几个因素: 故障标题、故障发现的版本、故障类别(功能/兼容/界面)、故障优先级、故障描述(测试环境、测试步骤、预期结果、实际结果)。 举个例…

spring的SPI机制之使用SpringFactoriesLoader加载服务实现

SpringFactoriesLoader提供了一种工厂方式供spring容器来加载特定的服务。像java的SPI一样,约定固定的配置文件和格式,使用SpringFactoriesLoader进行按需加载。只不过SpringFactoriesLoader读取的配置文件位置 “META-INF/spring.factories”。这个文件…

C++的作用域详细解读

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、作用域是什么?二、作用域类别1.全局作用域(global scope)2.名字空间作用域(namespace scope)3.局…

使用Exchanger线程之间交换数据

public class ExchangeThread {static class Producer implements Runnable{//生产者、消费者交换的数据结构private List<String> buffer;//步生产者和消费者的交换对象private Exchanger<List<String>> exchanger;Producer(List<String> buffer,Exch…

MySQL,使用Union组合查询

1、基本使用 Union可将多条select语句组合成一个结果集&#xff0c;常见的使用场景有2种&#xff1a; 在单个查询中&#xff0c;从不同的表返回类似结构的数据&#xff1b;对单个表执行多个查询&#xff0c;按单个查询返回数据。 例&#xff1a;检索出所有价格<50的产品&…

批发订货系统小程序怎么推广 四个方案高效获客

微信小程序基于强社交属性&#xff0c;天然自带引流特性&#xff0c;但毕竟小程序也只是一个工具&#xff0c;想要快速获客&#xff0c;还是需要商家主动采取一些措施的。下面分享是个方法&#xff0c;尤其是最后一个&#xff0c;是十分凑效的。大家点个关注点个赞&#xff0c;…

Android 权限申请

在Android中&#xff0c;从Android 6.0&#xff08;API级别23&#xff09;开始&#xff0c;应用在运行时需要动态申请权限。以下是一些步骤来动态申请权限&#xff1a; 在应用的清单文件&#xff08;AndroidManifest.xml&#xff09;中声明需要的权限。例如&#xff0c;如果应…

从零开发短视频电商 在AWS上用SageMaker部署自定义模型

文章目录 简介使用model.tar.gz1.从huggingface上下载模型2.自定义代码3.打包为tar 文件4.上传model.tar.gz到S35.部署推理 使用hub1.在sagemaker上新建个jupyterlab2.上传官方示例ipynb文件3.指定HF_MODEL_ID和HF_TASK进行部署和推理 inference.py官方示例 简介 原始链接&…

Mysql的基础问题原理

存储引擎&#xff1a; 存储引擎是Inndb。它支持行级锁&#xff0c;以及表级锁&#xff0c; 支持事务操作&#xff0c; 需要主键&#xff0c;若未声明主键&#xff0c;则会寻找表中的 not null 以及 unique 修饰的字段。若表中无此类字段&#xff0c;会隐式生成字段。 索引&…