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

如何做内部优惠券网站b站暴躁姐

如何做内部优惠券网站,b站暴躁姐,现在能不能去北京,株洲房地产信息网在Unity中想要实现全屏截图或者截取某个对象区域的图片都是可以通过下面的函数进行截取 Texture2D/// <summary>/// <para>Reads the pixels from the current render target (the screen, or a RenderTexture), and writes them to the texture.</para>/…

在Unity中想要实现全屏截图或者截取某个对象区域的图片都是可以通过下面的函数进行截取

Texture2D/// <summary>///   <para>Reads the pixels from the current render target (the screen, or a RenderTexture), and writes them to the texture.</para>/// </summary>/// <param name="source">The region of the render target to read from.</param>/// <param name="destX">The horizontal pixel position in the texture to write the pixels to.</param>/// <param name="destY">The vertical pixel position in the texture to write the pixels to.</param>/// <param name="recalculateMipMaps">If this parameter is true, Unity automatically recalculates the mipmaps for the texture after writing the pixel data. Otherwise, Unity does not do this automatically.</param>public void ReadPixels(Rect source, int destX, int destY, [DefaultValue("true")] bool recalculateMipMaps)

Texture2D.ReadPixels() 函数参数可以翻译注释了解用法,比较简单,我下面简单说一下:

source: 读取像素的区域,坐标起点是 左下角,这个要注意

destX: 读取后写入到texture的坐标X

destY: 读取后写入到texture的坐标Y

recalculateMipMaps : 是否重新计算minimaps,逐级渐远纹理,一般都会关闭的,直接False

好,接下来,当你点击截图按钮,调用函数

    public void SaveImage(string path){CoroutineManager.StartMonoCoroutine(SavePng(path));}

开启协程, 我用的是自己封装的管理器,你可以用原装的

然后开始截图操作,然后保存

     private IEnumerator SavePng(string path){//这里一定要等到帧渲染完毕yield return new WaitForEndOfFrame();//截图区域的本地坐标转换成 屏幕坐标var screenPoint = UiConfig.camera.WorldToScreenPoint(m_ScanImage.transform.position);//适配比例float ratio_x = Screen.width / 3662f; //注意这里,一定要加上比例//float ratio_y = Screen.height / 2060f;var imageWidth = m_ScanImage.rectTransform.sizeDelta.x * ratio_x;var imageHeight = m_ScanImage.rectTransform.sizeDelta.y * ratio_x;var t = new Texture2D((int)imageWidth, (int)imageHeight, TextureFormat.RGB24, false);//由于rect参数是从左下角开始读取,而我的m_ScanImage.transform锚点在左上角,所以rect的y值要减去他的高度t.ReadPixels(new Rect(screenPoint.x, screenPoint.y - imageHeight, imageWidth, imageHeight), 0, 0, false);t.Apply();var b = t.EncodeToPNG();if (b != null){File.WriteAllBytes(path, b);}

这里说明一下 3662这个值的来历,看一下Canvas的设置
在这里插入图片描述
我的设计分辨率是4K的 3840 * 2060, 这里选择使用高度适配,宽度做拉伸,根据我电脑显示器的分辨率和Match = 1的比例换算后得出实际的设计分辨率 3662 * 2060 大致是这个

	//适配比例float ratio_x = Screen.width / 3662f; //注意这里,一定要加上比例var imageWidth = m_ScanImage.rectTransform.sizeDelta.x * ratio_x;var imageHeight = m_ScanImage.rectTransform.sizeDelta.y * ratio_x;

这个比例加上以后,你的缩放操作就不会影响截图的范围了

好了,大致的要点就这么多,下面说下 坐标转换 ,这个经常用到

// 本地坐标转屏幕坐标, UiConfig.camera.WorldToScreenPoint(transform.position);  //注意这里使用position//屏幕坐标转本地坐标var b = RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, screenPoint, cam, localPoint);

今天讲的都是比较基础的,温故而知新,祝大家生活工作愉快~!

http://www.dtddedu.com/news/575.html

相关文章:

  • wordpress 七牛 httpsseo自媒体运营技巧
  • 聊城网站制作信息信息流优化师证书
  • 网站站群管理系统济南seo优化公司助力排名
  • 深圳中小企业网站建设网络营销的背景和意义
  • 上海网站建设维护全网营销推广平台
  • 网站技术维护费b站推广网站2024下载
  • 达内网站开发培训九江seo优化
  • 做网站都用到哪些软件网络营销服务公司有哪些
  • 网站没有备案可以做百度推广吗企业宣传片文案
  • 个人社区网站备案台州seo服务
  • 浙江网站制作链接生成二维码
  • 泊头网站排名优化百度竞价排名一年费用
  • 网站建设工作分解企业策划方案怎么做
  • 呼家楼做网站的公司哪家好谷歌关键词优化怎么做
  • 广东网站开发搭建全国免费发布广告信息平台
  • 做单平台网站制作seo排名点击软件运营
  • 网站引入视频播放快速排名优化
  • 黄骅港鑫海化工招聘安卓优化大师下载安装到手机
  • 大学生活网页制作模板保定网站seo
  • 专业的购物网站建设电商大数据查询平台
  • 怎么做有邀请码的网站seo指的是搜索引擎
  • 门户网站的传播特点seo实战技巧100例
  • 深圳设计院有哪些seo怎么赚钱
  • 网页加速器免费版 安卓网站seo在线诊断
  • 手机响应式网站怎么做长沙seo网络推广
  • 微信 网站提成方案点做第三方平台推广
  • 汕头seo网站优化长春网站建设设计
  • 广州最好的网站建设百度一下官网首页下载
  • 建设宁夏分行互联网站seo是什么姓氏
  • 做网站干什么深圳seo优化排名推广