当前位置: 首页 > news >正文

【Unity小工具】Image组件宽度、高度自适应

  1. Unity开发中,用同一个Image进行动态加载不同尺寸的图片,在显示上会有形变
  2. 此工具可以进行Image的宽度、高度自适应

实现原理

  • 获取Image原始尺寸(sizeDelta)
  • 获取图片原始尺寸(spriteSizeDelta)
  • 公式: spriteSizeDelta.x/spriteSizeDelta.y = sizeDelta.x / sizeDelta.y

代码:

 public static class ImageKit{// 根据宽度自适应 public static void AutoAdjustWeight(this Image image){var sizeDelta = image.rectTransform.sizeDelta;var spriteSizeDelta = image.sprite.rect.size;sizeDelta.y = sizeDelta.x * (spriteSizeDelta.y / spriteSizeDelta.x);image.rectTransform.sizeDelta = sizeDelta;}// 根据高度自适应public static void AutoAdjustHeight(this Image image){var sizeDelta = image.rectTransform.sizeDelta;var spriteSizeDelta = image.sprite.rect.size;sizeDelta.x = sizeDelta.y * (spriteSizeDelta.x / spriteSizeDelta.y);image.rectTransform.sizeDelta = sizeDelta;}}

结果

请添加图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Google Play】X浏览器4.8.1国际版(如何鉴别是否官方?)
  • 掌握 SQL 数据操纵的基础技巧
  • 点亮ESP 32 板载LED 灯
  • Java 入门指南:Java 并发编程 —— 并发容器 PriorityBlockingQueue
  • Spark2.x 入门:逻辑回归分类器
  • 简单的Linux Ftp服务搭建
  • 通过redis-operator 来部署 Redis Cluster 集群
  • 【大数据】Canal实现MySQL数据增量同步至Kafka:原理与配置解析
  • MSSQL数据库安全配置
  • 北京君正低功耗MCU芯片应用在柯氏音法电子血压计
  • 使用 ELK Stack 进行云原生日志记录和监控:AWS 中的开发运营方法
  • Python【1】
  • JS设计模式之“神奇的魔术师” - 简单工厂模式
  • Python3.8绿色便携版嵌入式版制作
  • 《JavaEE进阶》----7.<SpringMVC实践项目:【登录页面的验证】>
  • php的引用
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 2019.2.20 c++ 知识梳理
  • angular2开源库收集
  • centos安装java运行环境jdk+tomcat
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript HTML DOM
  • Java基本数据类型之Number
  • MaxCompute访问TableStore(OTS) 数据
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Netty源码解析1-Buffer
  • rc-form之最单纯情况
  • React+TypeScript入门
  • 安装python包到指定虚拟环境
  • 从0实现一个tiny react(三)生命周期
  • 技术发展面试
  • 入手阿里云新服务器的部署NODE
  • 一个JAVA程序员成长之路分享
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 第二十章:异步和文件I/O.(二十三)
  • ​linux启动进程的方式
  • ​香农与信息论三大定律
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • ###项目技术发展史
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1)Jupyter Notebook 下载及安装
  • (11)MATLAB PCA+SVM 人脸识别
  • (6)设计一个TimeMap
  • (搬运以学习)flask 上下文的实现
  • (二十三)Flask之高频面试点
  • (规划)24届春招和25届暑假实习路线准备规划
  • (三)Honghu Cloud云架构一定时调度平台
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)c++ std::pair 与 std::make
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)负载均衡,回话保持,cookie