/idevelop/ascii-camera/blob/master/script/ascii.js
虽然是JavaScript的,但是简单看一下就知道原理:
把bitmap中像素点的RGB值转换成灰度...采样像素点灰度转换成字符,每行成一个字符串,不同行用换行符连接成一个总的字符串,展示到TextView上。...的封装, 也是没法直接获取到Bitmap的
从Bitmap中取得像素的RGB值, 转换成灰度, 再转换成字符串, 需要一定的计算量, 是否有更简单的方式使用ImageReader可以解决以上问题....它也是用像素点的分量来表示图像, 不同的是, 它的Y分量代表亮度, U和V两个分量代表颜色....这样表示的好处是彩色与黑白画面的转换很方便, 去掉UV就是黑白的, 也就是灰度; 并且Y分量可以做一定的压缩, 比如每两个或四个像素点取一个Y分量, 以节省空间, 这就产生了不同格式的YUV, 如下图: