亦身仙气 2023-05-26 10:52 采纳率: 71.9%
浏览 39
已结题

unity中截取RawImage.texture图片的问题

#我从RawImage.texture中利用Texture2D截取了一张图片,但是我现在想要根据矩形在这张图片的正中间,截取一张100*100的图片,目前各种方法都试过了,chat gpt也问过了,怎么都实现不了,我在想是不是我的思路出现了问题。
#劳烦各位给个解决方案。或者代码我借鉴借鉴。

  • 写回答

3条回答 默认 最新

  • 小赵爱吃肉 2023-05-26 14:28
    关注
    
    // 获取 RawImage 控件
    RawImage rawImage = GetComponent<RawImage>();
    // 获取 RawImage 的 Texture2D
    Texture2D texture2D = rawImage.texture as Texture2D;
    // 计算正中间100*100像素的左下角坐标
    int startX = (texture2D.width / 2) - 50;
    int startY = (texture2D.height / 2) - 50;
    // 创建新的Texture2D,指定宽度、高度和像素格式
    Texture2D newTexture = new Texture2D(100, 100, TextureFormat.RGBA32, false);
    // 循环遍历原始Texture2D中的像素,将正中间100*100像素复制到新的Texture2D中
    for (int x = startX; x < startX + 100; x++)
    {
        for (int y = startY; y < startY + 100; y++)
        {
            Color color = texture2D.GetPixel(x, y);
            newTexture.SetPixel(x - startX, y - startY, color);
        }
    }
    // 应用更改并生成新的mipmap
    newTexture.Apply(true);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 已采纳回答 5月29日
  • 创建了问题 5月26日

悬赏问题

  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题