压缩texture的大小

6 篇文章 0 订阅

压缩Texture2D

	//source 要压缩的texture
	//targetWidth 压缩后的宽度
	//targetHeight 压缩后的高度
    public Texture2D ReduceTexture (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;
    }

截图保存到本地可以看到压缩了多少

		//unity中屏幕截图
        Texture2D screenshot = ScreenCapture.CaptureScreenshotAsTexture ();
        
        System.IO.File.WriteAllBytes (@"图片存储路径", DeCompress (screenshot).EncodeToPNG ());
        System.IO.File.WriteAllBytes (@"图片存储路径", DeCompress (ScaleTexture (screenshot, screenshot.width / 2, screenshot.height / 2)).EncodeToPNG ());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值