赞 | 6 |
VIP | 356 |
好人卡 | 3 |
积分 | 2 |
经验 | 297560 |
最后登录 | 2022-1-18 |
在线时间 | 509 小时 |
Lv1.梦旅人 有事烧纸
- 梦石
- 0
- 星屑
- 154
- 在线时间
- 509 小时
- 注册时间
- 2005-10-22
- 帖子
- 6982
   
|
以下引用金圭子于2006-11-21 11:20:20的发言:
对了,看到你在里面提到:
2、由于Ruby::IO输出"\x0a"时实际输出的是"\x0d\x0a",导致生成Png文件
时会出现错误,所以实际是用Zlib输出的.gz的压缩文件,需自己解压。
(png_file 第24行)
这个是有办法的,上次在你哪个帖子里面看到,忘了和你说一下(那个帖子找不到了)
是在write之前,加一句:
file.binmode
比如你试试看这个:
file = File.open("IOtest.txt","w")
file.binmode
file.write("\x0a")
file.write("\n")
file.write("\cJ")
# 三句话的意思一样,都是写\x0a
file.close
注意,这个binmode之后,是不能从二进制模式回到文本模式的(如果要用,只能退出重开,F1里面就是这么写的),我没仔细的看你这个bmp转png的全程序,到底是哪里要写\x0a,如果你从头到尾都是在写二进制的图片文件,而不是在写文章,那我建议你还是直接用binmode,还可以避免些其他情况(比如空格和0的情况等等)
呵呵 直接 file = open("IOtest.txt","wb")即可`` |
|