互动拍照 — GIF拍照
Gif拍照,其实就是多张照片合成一张“动图”。这种互动形式主要的特点就是图片生动有趣。
但由于gif无法在微信朋友圈分享,必须嵌入网页或者转成视频,所以它的二次传播能力有一点不算问题的问题。
同时,gif是多图片的合成,如果图片比较多,结果可能是文件比较大。
如果有合适的拍摄引导,拍出来的图片还是很有意思的。
硬件
单反、网络摄像头、体感设备都可以,在gif这个单个功能需求上,硬件无差别。
软件
主要是依靠Gif.Components.dll,由于用到了Image类,所以还需要引用System.Drawing.dll。
我的开发版本是unity 5.6.4,上述dll和cs我放在了这里:图片Gif互相转换核心文件-基于Unity5.6.4.zip
以下是用于转换的代码。
using Gif.Components;
using System.IO;
using System.Drawing.Imaging;
using System.Drawing;public class GifController
{/// <summary>/// 把Gif文件转成Png文件,放在directory目录下/// </summary>/// <param name="file"></param>/// <param name="directory"></param>/// <returns></returns>public static void GifToPngs(string giffile, string directory){GifDecoder gifDecoder = new GifDecoder();directory += "\\";if (!Directory.Exists(directory)){Directory.CreateDirectory(directory);}//读取gifDecoder.Read(giffile);for (int i = 0, count = gifDecoder.GetFrameCount(); i < count; i++){Image frame = gifDecoder.GetFrame(i); // frame iframe.Save(directory + "\\" + i.ToString("d2") + ".png", ImageFormat.Png);//转成jpg//frame.Save(directory + "\\" + i.ToString("d2") + ".jpg", ImageFormat.Jpeg);}}/// <summary>/// 把directory文件夹里的png文件生成为gif文件,放在giffile/// </summary>/// <param name="directory">png文件夹</param>/// <param name="giffile">gif保存路径</param>/// <param name="time">每帧的时间/ms</param>/// <param name="repeat">是否重复</param>public static void PngsToGif(string directory, string giffile, int time, bool repeat){//一般文件名按顺序排string[] pngfiles = Directory.GetFileSystemEntries(directory, "*.png");AnimatedGifEncoder e = new AnimatedGifEncoder();e.Start(giffile);//每帧播放时间e.SetDelay(time);//-1:不重复,0:重复e.SetRepeat(repeat?0:-1);for (int i = 0, count = pngfiles.Length; i < count; i++){e.AddFrame(Image.FromFile(pngfiles[i]));}e.Finish();GameController.instance.FinishConvert();}}
如何保存图片,如何上传分享可以参考我之前写的文章。
评述
这个拍照互动方式,市面上用的不是很多。我想原因可能是它不能打印出来,又不能像短视频互动一样提供连贯丰富的效果,属于一个中间状态的产物。
目前有见过gif这种理念的变种,就是通过拍摄视频或者gif本身,去打印成一个小册子提供给用户,用户翻动小相册来体验动图的魅力。
互动拍照 — GIF拍照相关推荐
- 【Flutter】Flutter 拍照示例 ( 拍照并获取照片源码示例 | image_picker 0.7.2+1 | Flutter 最新 SDK 安装 )
文章目录 一.image_picker 使用 二.更新 Flutter SDK 三.image_picker 使用示例 四.相关资源 之前在 [Flutter]Flutter 拍照示例 ( 拍照并获取 ...
- 海思平台的拍照和拍照后期处理算法的介绍
参考:https://download.csdn.net/download/who_you_are/9806928 拍照方案 拍照的场景中,一般的视频预览和抓拍的分辨率是不一样的,而且拍照的ISP的效 ...
- android 红米拍照问题,拍照表现中规中矩_小米 红米_手机Android频道-中关村在线...
在拍照方面,联通版红米手机的主摄像头像素为800万,其拍照方面的基础功能虽然比主打拍照的智能手机要少一些,但整体相对来说,其拍照功能还是比较丰富的,我们常用的全景拍摄.HDR.滤镜.ISO调节等都有, ...
- 自定义拍照时 拍照界面_拍照时如何正确地看镜头?
"1.2.3,看镜头"哈喽大家好 ~ 今天来聊聊拍照看镜头.每次拍照听到"看镜头"你会感到害怕吗?你平时拍照习惯看镜头吗?到底是看镜头拍照好还是不看好呢?--想 ...
- 自定义拍照时 拍照界面_男子海边拍照时发现“金光闪闪”,走近查看后一夜暴富|戒指|沙土|包装膜...
男子海边拍照时发现"金光闪闪",走近查看后一夜暴富! 国外一男子虽然不是一名摄影师,但是他很喜欢摄影拍照,经常没事的时候就去街拍,或者去一些安静偏僻风景好的地方去拍一些照片留作纪念 ...
- 【Flutter】Flutter 拍照示例 ( 拍照并获取照片源码示例 | image_picker: ^0.5.2 版本 )
文章目录 一.image_picker 使用 二.image_picker 使用示例 三.相关资源 一.image_picker 使用 在 image_picker 插件主页 有关于该 Flutter ...
- 自定义拍照时 拍照界面_当生活中拍照不知道摆什么姿势时,可以试试动漫中这些动作...
随着社会的进步,拍照已经成为生活中不可缺少的是一部分了,无论在什么时间,什么地方,做什么,都要拍照留念下,而随着照片的越来越多,很多人也不知道该摆出什么样的姿势来进行拍照了,其实,当你在生活中拍照不知 ...
- 自定义拍照时 拍照界面_拍照时图片比例怎么选?比构图还要提前一步的摄影攻略要做好...
谈到摄影第一步,很多人都在说构图,但是比构图还要提前一步的,是选择合适的拍摄比例.在拍照时,始终是把要拍的东西装进设备的取景器里面,所以取景器的比例是16:9,还是4:3或者其他,就直接影响了我们如何 ...
- 自定义拍照时 拍照界面_在用透射电镜拍照时为什么经常要插入物镜光阑?
在用透射电镜给样品尤其是多晶样品拍照时,经常会插入物镜光阑,这是什么原因呢?为了解释这个问题,我们还得用到衍射和衬度传递函数(Contrast Transfer Function)的知识,关于衬度传递 ...
最新文章
- Nature调查:6%中国科研人年薪超50万元!
- ACL 2019最佳论文出炉:华人团队包揽最佳长短论文一作,中科院、华为等榜上有名...
- Android开发--图形图像与动画(四)--AnimationListener简介
- Redis 作为缓存服务器的配置
- NLP之TopicModel:朴素贝叶斯NB的先验概率之Dirichlet分布的应用
- 添加Chrome插件(Github上下载的压缩文件)
- 前端学习(1777):前端调试之websql原理和查看
- 算法:位运算加减乘除
- 微信公布7月朋友圈十大谣言 包括“奥运冠军杨倩被奖励1600万”等
- “任何人请你去他家吃饭,都别空着手去“怎么看待这句话?
- 戴尔服务器哪1顶型号好,戴尔PowerEdge R730xd新一代服务器评测
- 【原创】告别恼人的水平滚动条——滚动条宽度到底是多少?
- mysql be_Amobe实现MySQL读写分离
- 15 个提高 Google 搜索效率的小技巧
- 分享133个JSP源码,总有一款适合你
- 如何在word中安装grammarly
- SD卡格式化重建分区
- matlab零阶保持器的作用,5.8 记忆模块、零阶保持器、一阶保持器
- 武汉城建学院计算机专业柴曲,采访对话丨在世界一流的柴院学音乐,是怎样一种感受?...
- Android-茫茫9个月求职路,终于拿满意offer,项目实践