业余的梦想家 2022-11-27 02:58 采纳率: 0%
浏览 10

C# 有没有高性能贴图/叠加的方式或者库?

C# 有没有高性能贴图/叠加的方式或者库?
最近在搞一个动画软件,就是会添加一些图片素材,每个素材可以看作是单独的图层,最后会合成一张图片。合成的时候会涉及到缩放、旋转、透明度这些操作,目前是用Graphics实现的,不说复杂操作,就是单张素材固定大小不做任何变化直接贴图,如果图片尺寸大点都比较慢。
现在主要是卡在即时预览这个功能上,想了一些优化方法,比如缓存、剪辑区等尽量避免非必要的绘制,但是素材和镜头的关键帧过渡动画是躲不开的,基本上每一帧都需要重绘同一个区域的所有图层。假如动画是30帧每秒,那么每帧最多最多只有33毫秒的处理时间,感觉普通的方式非常难啊。
所以现在就想问一下C# 中有没有高性能的贴图合成方式或者第三方库来替代掉Graphics 或者是其它方式来实现即时预览。我个人目前在了解openCv和openGL 也许是刚开始了解吧 总感觉这两个是做那种高大上的图像处理的,比如计算机视觉或3D图像那些
  • 写回答

2条回答 默认 最新

  • xuzuning 2022-11-27 11:25
    关注

    Graphics 提供了 openGL 的几乎所有功能 openCv 是c++ 库,运行速度很快快,但对于你的应用是大材小用了
    绘制图片素材的瓶颈是素材的加载(有可能的话应预先缓存)任何事情都是做了才知道,冥想是解决不了任何问题的

    评论

报告相同问题?

问题事件

  • 创建了问题 11月27日

悬赏问题

  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 用大厂网站防红自己网站
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?