找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30954|回复: 7

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

[复制链接]
发表于 2009-1-28 13:00:51 | 显示全部楼层 |阅读模式
群里聊天的时候有人(好像是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文件

评分

参与人数 1PB +2 收起 理由
lixiaodaoaaa + 2 不错

查看全部评分

发表于 2009-1-28 15:21:15 | 显示全部楼层
我上次说的那个网站就是Photo2Text.com

给你找到了哈。。。
发表于 2009-1-28 15:22:11 | 显示全部楼层
另外说一句,用CIdo做更方便。。。

首先调大缓冲区,然后用CIdo的滚动功能就可以了。。。
发表于 2009-1-28 16:13:48 | 显示全部楼层

发现 一个问题

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

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

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

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

评分

参与人数 1PB +6 收起 理由
523066680 + 6 请加上一句“温馨提示” 温馨提示:白字黑 ...

查看全部评分

 楼主| 发表于 2009-1-28 16:47:56 | 显示全部楼层
哈哈哈哈!!  全是因为那张图好看吧……
记得给我发的这个帖子加分 很多靓图的
http://bbs.bathome.net/thread-3173-1-1.html
发表于 2009-1-28 17:31:38 | 显示全部楼层
其实Photo2Text还有很多参数的,可以调整用的字符等。。。
发表于 2009-1-28 19:34:54 | 显示全部楼层
如何把一张图片转换成用不同字符表示的文本文件?
原理:
一张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.
发表于 2009-1-28 19:43:38 | 显示全部楼层
LS的方法在其他网站也看过,本来想用VC++写个的,但是不会用那些复杂的颜色函数,而且读取文件本身就很麻烦,不同的格式有不同的算法Orz。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:56 , Processed in 0.019215 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表