java抖音字符视频_抖音上很火的字符画 Android 实现 | 视频转换实现

最后像国际象棋格子一样,一块一块的替换掉,由于计算相对比较复杂,所以耗时比较长,因此当时那个demo也让我搁置了。最近看到这篇日推,不由得眼前一亮,因为很少有人在android端做这种东西,因为算法方案是一大堆,不过很少有感兴趣的人去移植到android- -,我就参考了这篇文章的方案,不由得赞叹这个方法的巧妙,避免了大量的计算,图片转化率大大提高了,可以看看效果图:ccg和修政哈哈哈,是不是很酷...
摘要由CSDN通过智能技术生成

最后像国际象棋格子一样,一块一块的替换掉,由于计算相对比较复杂,所以耗时比较长,因此当时那个demo也让我搁置了。

最近看到这篇日推,不由得眼前一亮,因为很少有人在android端做这种东西,因为算法方案是一大堆,不过很少有感兴趣的人去移植到android- -,我就参考了这篇文章的方案,不由得赞叹这个方法的巧妙,避免了大量的计算,图片转化率大大提高了,可以看看效果图:

20c252d56ddd0f46b77eabdcbd3decf7.png

ccg和修政

哈哈哈,是不是很酷炫?

为了看清每一个字母,特意上传了一个大图(ps:抖音上竟然有人手动敲的ascii码,而且敲了几天,真是丧心病狂)。好了,下面进入正题~

1、图片转ascii

巧妇难为无米之炊,既然要图片/视频转化 ascii码,要有对应的媒体文件,选择一个图片,相信每一个android开发者都或多或少有个趁手的图片选择库,这里使用了 'com.github.LuckSiege.PictureSelector:picture_library:v2.2.3',持续更新的库,比较好用。

用法大概如下~

publicstaticvoidchoosePhoto(Activity context, intrequestCode){

PictureSelector.create(context)

.openGallery(PictureMimeType.ofAll()) //全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()

.maxSelectNum( 1) // 最大图片选择数量 int

.imageSpanCount( 4) // 每行显示个数 int

.selectionMode(PictureConfig.SINGLE) // 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE

.isCamera( true) // 是否显示拍照按钮 true or false

.imageFormat(PictureMimeType.PNG) // 拍照保存图片格式后缀,默认jpeg

.isZoomAnim( true) // 图片列表点击 缩放效果 默认true

.sizeMultiplier( 0.5f) // glide 加载图片大小 0~1之间 如设置 .glideOverride()无效

.openClickSound( true) // 是否开启点击声音 true or false

.minimumCompressSize( 500) // 小于100kb的图片不压缩

.forResult(requestCode); //结果回调onActivityResult code

}

接着进行下一步操作,上代码:

public staticBitmap createAsciiPic( finalStringpath, Context context) {

finalStringbase = "#8XOHLTI)i=+;:,."; // 字符串由复杂到简单

StringBuilder text = newStringBuilder();

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);

DisplayMetrics dm = newDisplayMetrics();

wm.getDefaultDisplay().getMetrics(dm);

intwidth = dm.widthPixels;

intheight = dm.heightPixels;

Bitmap image = BitmapFactory.decodeFile(path); //读取图片

intwidth0 = image.getWidth();

intheight0 = image.getHeight();

intwidth1, height1;

intscale = 7;

<
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值