[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[游戏娱乐] 批处理滚动画面

群里聊天的时候有人(好像是yode)介绍了一个网站
http://www.u148.net/game/photo2text.html
可以把图片转换为字符串,拿了个最终幻想的图转了 还真不错。
就是比较大,发上来也见不着效果(转行)

打算用批处理滚动显示,简单地针对了那张图做了一下,发上来娱乐娱乐
  1. @echo off &setlocal enabledelayedexpansion
  2. color f0
  3. set n=0
  4. for /f "tokens=*" %%a in (a.x) do (
  5. set /a n+=1
  6. set S!n!=%%a
  7. )
  8. for /l %%a in (0,1,35) do (
  9.   cls
  10.   for /l %%b in (1,1,20) do (
  11.   echo,!S%%b:~%%a,70!
  12.   )
  13.   ping -n 1 127.1>nul
  14. )
  15. for /l %%a in (21,1,%n%) do (echo,!S%%a:~35,70! &ping -n 1 127.1>nul &ping -n 1 127.1>nul)
  16. pause
复制代码
配合下面的a,x文件
1

评分人数

我上次说的那个网站就是Photo2Text.com

给你找到了哈。。。

TOP

另外说一句,用CIdo做更方便。。。

首先调大缓冲区,然后用CIdo的滚动功能就可以了。。。

TOP

发现 一个问题

离的越远,看得越清晰,不错

给大家提示一点,实验、测试的方法
首先要下载那个a.x 文件,重命名为a.x
然后运行if exist 写的批代码,就可了

发现一个严重的问题,离得越远看得越清晰。不错
加分

[ 本帖最后由 Batcher 于 2009-5-9 20:49 编辑 ]
1

评分人数

    • 523066680: 请加上一句“温馨提示” 温馨提示:白字黑 ...PB + 6

TOP

哈哈哈哈!!  全是因为那张图好看吧……
记得给我发的这个帖子加分 很多靓图的
http://bbs.bathome.net/thread-3173-1-1.html

TOP

其实Photo2Text还有很多参数的,可以调整用的字符等。。。

TOP

如何把一张图片转换成用不同字符表示的文本文件?
原理:
一张m*n大小的图片,实际上可以看成是一个m*n的矩阵。矩阵的每一个元素就是一个Color值,不同的Color值,用不同
的Ascii可以在屏幕上打印显示的字符来代替,于是可以得到一个m*n的每一个元素是一个Ascii字符的两维矩阵,
矩阵的每一行就是像素矩阵的每一行。再把这个字符矩阵输出到文本文件中保存,便可以得到图像对应的文本文件。
当然了,所用的Ascii字符越多,生成的图像也就越逼真。如果只用两个字符,就相当于生成了只有黑白两色的黑白照片一样。
核心代码:
StringBuilder sb = new StringBuilder();
for (int h = 0; h < image.Height; h )
{
for (int w = 0; w < image.Width; w )
{
Color pixelColor = image.GetPixel(w, h);
//用均值法算出灰度值
int red = (pixelColor.R pixelColor.G pixelColor.B)/3;
int green = (pixelColor.R pixelColor.G pixelColor.B)/3;
int blue = (pixelColor.R pixelColor.G pixelColor.B)/3;
Color grayColor = Color.FromArgb(red, green, blue);
int index = (grayColor.R * 10) / 255;
sb.Append(asciiChars[index]); //char[] asciiChars 为存储字符的数组。
}
sb.Append("\r\n"); //一行结束,加一个回车换行
}
网上有在线转换的网站:www.photo2text.com.
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

LS的方法在其他网站也看过,本来想用VC++写个的,但是不会用那些复杂的颜色函数,而且读取文件本身就很麻烦,不同的格式有不同的算法Orz。。。

TOP

返回列表