Unity功能实现_压缩Texture2D尺寸

🏆 个人愚见,没事写写笔记

🏆《博客内容》:Unity3D开发内容

🏆🎉欢迎 👍点赞✍评论⭐收藏

🔎问题:传给服务器的图片太大,服务器需很大内存,把图片压缩小给服务器

☀️具体实现:

  /// <summary>
  /// 压缩图片
  /// </summary>
  /// <param name="source">被压缩图片</param>
  /// <param name="targetWidth">压缩宽度</param>
  /// <param name="targetHeight">压缩高度</param>
  /// <returns></returns>
  private Texture2D ScaleTexture(Texture2D source, int targetWidth, int targetHeight)
  {
      Texture2D result = new Texture2D(targetWidth, targetHeight, source.format, true);
      Color[] rpixels = result.GetPixels(0);
      float incX = ((float)1 / source.width) * ((float)source.width / targetWidth);
      float incY = ((float)1 / source.height) * ((float)source.height / targetHeight);
      for (int px = 0; px < rpixels.Length; px++)
      {
          rpixels[px] = source.GetPixelBilinear(incX * ((float)px % targetWidth), incY * ((float)Mathf.Floor(px / targetWidth)));
      }

      result.SetPixels(rpixels, 0);
      result.Apply();
      return result;
  }

🚀感谢:🎉欢迎 👍点赞✍评论⭐收藏

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值