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

焦作会计做继续教育在哪个网站/seo模拟点击工具

焦作会计做继续教育在哪个网站,seo模拟点击工具,天津建站平台,哪个网站名片做的号在QQ聊天中有时会遇到一种神奇的图片,看起来是一张图,打开一看是另一张图,我们称这种图片为“幻影坦克”。于是我产生了一个想法,如果能实现自动合成“幻影坦克”,为什么不把它做成一个WASM应用呢?在本系列…

14ddc7a03b2abb37bf0f0f76efccd9a2.png

在QQ聊天中有时会遇到一种神奇的图片,看起来是一张图,打开一看是另一张图,我们称这种图片为“幻影坦克”。

于是我产生了一个想法,如果能实现自动合成“幻影坦克”,为什么不把它做成一个WASM应用呢?

在本系列文章中,我将使用RustTypeScript逐步实现幻影坦克制作工具,最终以静态单页应用的形式发布。

理论基础

ElPsyCongree:幻影坦克架构指南(一)​zhuanlan.zhihu.com
b5af730b70e08ec3c321d82bf4d9c55c.png
ElPsyCongree:幻影坦克架构指南(二)​zhuanlan.zhihu.com
297177cde11a0d1f7b54ea5801cbf80c.png
ElPsyCongree:幻影坦克架构指南(三)​zhuanlan.zhihu.com
bf4ed86317ecc5bc63c4ff5e51aa7b9d.png
ElPsyCongree:棋盘格与幻影坦克​zhuanlan.zhihu.com
d38d6a7c4785f9f3f9378ee89f62bf8b.png

感谢作者 @ElPsyCongree,以上文章讲解得很清楚。

事实上,幻影坦克没有那么神秘,只需要将两张图片按简单的公式计算,合成一张新的图片就行了。

架构设计

底层: 通用算法库,实现算法,暴露一个通用的抽象,这样可以同时给binary和wasm使用。

绑定:将Rust数据结构导出为js风格的对象,便于操作。

应用:使用html实现界面,js调用wasm进行计算。

算法库

基础图像处理库:image-rs/image

首先,虽然这是一个接收两张图片,输出一张图片的纯函数,但用Rust特色的面向对象范式来写会比较舒服。

用一个结构体来存储输入的两张图片。

pub struct MirageTank {wimage: DynamicImage,bimage: DynamicImage,
}

定义两个构造函数,new直接由结构体内字段构造,from_raw从内存中载入图片,让wasm调用时减少数据复制。

impl MirageTank {#[inline]pub fn new(wimage: DynamicImage, bimage: DynamicImage) -> Self {Self { wimage, bimage }}pub fn from_raw(wbuffer: &[u8], bbuffer: &[u8]) -> ImageResult<Self> {let wimage = load_from_memory(wbuffer)?;let bimage = load_from_memory(bbuffer)?;Ok(Self { wimage, bimage })}
}

直接实现处理算法。

impl MirageTank {pub fn grey_output(&self,width: u32,height: u32,checkerboarded: bool,wlight: f32,blight: f32,) -> RgbaImage { ... }pub fn colorful_output(&self,width: u32,height: u32,checkerboarded: bool,wlight: f32,blight: f32,wcolor: f32,bcolor: f32,) -> RgbaImage { ... }
}

看起来几步就写完了,实际上需要阅读算法理论,借鉴已有的实现,考虑如何尽量减少数据复制,精简API。如果这一步没有做好,在往高层应用走的时候会经常返工。

想要阅读完整代码,请移步GitHub仓库:

Nugine/mirage-tank​github.com

后篇:

Nugine:幻影坦克与WASM (二)​zhuanlan.zhihu.com
e7625988b9af8210186edd34158f3af9.png
http://www.jmfq.cn/news/5275711.html

相关文章:

  • 企业年金个人和单位的缴费比例/seo查询网站
  • 河北远策网站建设/怎么开一个网站平台
  • 网页设计与网站建设选择题/网络推广十大平台
  • 网站开发用php还是js/google推广seo
  • 卫生局网站模板/企业宣传软文范例
  • 网站跳出率如何计算/中国seo第一人
  • 鞍山做网站企业/seo零基础教学视频
  • wordpress附件/东莞seo计费
  • 设计网站公司 露 联湖南岚鸿/软件开发公司排名
  • 自己动手做导航网站/软文媒体发稿平台
  • asp无刷新网站模板/今日新闻最新
  • 广州 科技网站建设公司/文章推广平台
  • 泰安口碑好的企业建站公司/成都官网seo服务
  • 如何做公司简介介绍/石家庄百度seo
  • 做网站还有价值吗/龙岗网络公司
  • 新乡做网站的/优化seo深圳
  • 做平面常用的网站/互联网推广渠道有哪些
  • 公司网站建设浩森宇特/云南seo公司
  • 网站建设课设心得体会/国家优化防控措施
  • 高端网站建设模板/百度竞价是什么
  • 创世网站网络建设/网站推广软件排名
  • 关于网站的毕业设计/链接点击量软件
  • cms系统管理/seo提升排名
  • 北京谷歌seo/上海关键词排名优化怎样
  • 养生网站源码下载/长春百度推广电话
  • web网页设计模板代码/seo发外链工具
  • 昌平网站建设推广优化seo/外贸网站推广费用
  • 南昌 网站/自己创建网站
  • 太原网站建设优化/搜一搜
  • 马云不会代码怎么做的网站/seo是什么车