可玩gif的dash插件
dash-gif-component的Python项目详细描述
虚线gif组件
dash gif组件提供一个可播放的gif dash组件,它构建在react-gif-player之上。
plotly的破折号文档可以在here中找到。
背景
虽然在dash应用程序中使用gif可能有很多可能的用例,但最初促使我添加它们的一个原因是提供了一个视觉帮助,向最终用户展示如何使用各种交互功能
我最初的方法是简单地将gif放在一个html <img>
标记中,但我很快发现这在实践中并没有很好地工作,因为持续的循环有点难以承受,特别是当同一页上有多个gif时。
第二种方法更精细一些,我写了一篇关于它的社区博客文章here这使用了自定义javascript,当窗口位置的散列被更改时,它就被发送出去了,并且运行得很好……直到我了解到这在使用dash>;0.39时在internet explorer中导致了非常奇怪的行为。在与IE兼容时,还有许多其他恼人的问题,这使得维护它很痛苦
这就引出了dash gif组件——这个故事的最后一章。最后,一个简单易用的python模块不需要编写一行javascript或创建任何黑客它适用于Dash的最新版本,最棒的是,它可以在IE中按原样工作!
希望你喜欢这个插件。
安装
您可以使用pip
:
pip install dash-gif-component
文件
dash-gif-comonent
只有一个组件(GifPlayer
),而且非常容易设置。您只需提供两个属性:
gif
:gif的字符串路径still
:用于“暂停”模式的图像的字符串路径*- 还有一个名为
autoplay
的可选属性,当设置为true时,将导致gif自动播放我发现这违背了组件的目的,但决定在复制react-gif-player时包含这一点以实现完整性。
*Gifsicle是一个有用的cli工具,可以提取gif的第一帧或任意帧,以及其他与gif相关的任务。
注意:如果仍对gif使用本地文件,则必须从配置为提供静态文件的文件夹中加载这些文件。默认情况下,设置为assets
。
用法示例:
importdash_gif_componentasGifimportdashimportdash_html_componentsashtmlapp=dash.Dash(__name__)app.layout=html.Div([Gif.GifPlayer(gif='assets/my-gif.gif',still='assets/my-still.png',)])
有关完整的运行示例,请查看demo/usage.py
自定义样式
虽然我确实发现原始样式表本身非常优秀,但是您可能仍然希望在这里和那里做一些调整。只有少数选择器,覆盖很简单样式表可以在src/lib/components/css/gifplayer.css中引用