JPG2ASCII开发上线记录

JPG2ASCII开发上线记录

Posted November 18, 2015

介绍

刚开始做运维的时候喜欢在登录服务器的时候自动打印一些ASCII图像, 于是大量搜寻这种图片以做到自己的欢迎页独一无二。 想想有点不误正业, 现在虽说找到合适的ASCII图形, 相对于以前不喜这个东西了, 但至少是一段时间的情怀. 最近研究flask, 碰巧又遇到jp2a这个开源软件, 所以想把图片转ASCII图像做成一个在线服务, 顺便入门flask. JPG2ASCII

用到的开源

jp2a

进行转换的工具 项目地址: https://csl.name/jp2a/

jp2a is a small utility that converts JPG images to ASCII. It's written in C and released under the GPL.

flask

一个Python web框架 项目地址: https://github.com/mitsuhiko/flask

A microframework based on Werkzeug, Jinja2 and good intentions http://flask.pocoo.org/

semantic-UI

一个前端开发框架 项目地址: https://github.com/semantic-org/semantic-ui/

Semantic is a development framework that helps create beautiful, responsive layouts using human-friendly HTML.

主要思路

前端网页UI将图片和参数传递到后端flask, 然后保存图片生成ASCII最后返回生成结果.项目已经开源, 这里不贴代码了, 有兴趣移步到https://github.com/jackeyGao/Flask-JPG2ASCII

最后部署heroku

Heroku是一个支持多种编程语言的云平台即服务

Python 的web程序指定好Procfilerequirements.txt 就可以正常工作了, 但是由于此次项目用到了jp2a这个需要编译的工具, 现在就有个问题. 现在本地的jp2a可执行文件是不能在heroku机器上运行成功的, 所以我怎么在heroku上编译这个工具。 幸运的是heroku支持的, 官方的快速开始文档没有关于这个的介绍, 我在国外的一个博客看到有个伙计成功了. 下面介绍

首先需要获得一个shell命令行交互环境.其次需要把包放到heroku APP机器上, 这个可以scp, 或者wget, curl. 获得shell(其实相当于ssh操作这台机器), 使用heroku的run命令

Bash

heroku run /bin/bash

然后就会有一个shell环境来操作app机器, 这时候

Bash

curl -O http://sourceforge.net/projects/jp2a/files/latest/download

tar zxvf download
cd jp2a-xxxxx/
./configure --prefix=/app/.heroku/vendor/jp2a
make && make install

编译完成后需要把这个jp2a可执行命令打进包里面, heroku app机器上不太方便git操作, 我这边是在heroku app机器scp到我的服务器上. 然后add commit.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯IVWEB团队的专栏

移动端 tryjs 异常捕获

上周处理了一下群活动的 badjs ,第一步是摆脱` Script error .`,捕获异常栈,找到自己是错在哪里? 分享一下移动端 tryjs 异常捕获的步...

37100
来自专栏魏艾斯博客www.vpsss.net

代码实现 WordPress 文章中英文数字间自动添加空格

27230
来自专栏技术博文

关于微信二次分享,标题变链接的解决方法(二)----代码部分

声明: 本篇博文只是个人工作中的分享总结,仅代表个人观点,虽然解决了不少网友的问题,但同时也引来了一些网友的不满,所以特此声明,当您遇到本博文解决不了的问题,可...

37260
来自专栏C语言及其他语言

CodeBlocks的入门使用教程

之前自推出VC6作为教学、训练的编译器以后,VC6的种种问题及与训练场判题系统标准的不符,导致不少新同学被坑不少,今天起我们将加大对其他编译器学习的支持,对于训...

73950
来自专栏Fundebug

抛弃console.log(),拥抱浏览器Debugger

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

15430
来自专栏封碎

Android的webview研究

最近做的项目大量用到了 webview ,用网页来布局。 Android 的 webview 是基于 webkit 内核,不过他的运行效果和 firefox 上...

13710
来自专栏磐创AI技术团队的专栏

机器学习新手必看:Jupyter Notebook入门指南

24120
来自专栏编程

利用Python进行数据分析(一)

说在前面 即将自学《利用Python进行数据分析》这本书,为了督促自己思考并总结,遂将学习内容连载在此。以便大家参考,和自己回顾。此书前五章主要是介绍了IPyt...

23470
来自专栏地方网络工作室的专栏

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(八)渲染一个列表出来先

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(八)渲染一个列表出来先 前情回顾 在上一篇博文《Vue2+VueRout...

31160
来自专栏云瓣

通过一个demo了解Redux

TodoList小demo 效果展示 项目地址 (单向)数据流 数据流是我们的行为与响应的抽象;使用数据流能帮我们明确了行为对应的响应,这和react的状态可预...

346100

扫码关注云+社区

领取腾讯云代金券