草庐IT

Bitmap压缩

全部标签

C# 通过TSPL(PUTBMP)指令打印由Bitmap生成的二维码图片

PUTBMP命令只支持打印位深为1或8的bmp图片。Bitmap生成二维码可以用ZXing.Net库。可参考 C#ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(一)-天马3798-博客园(cnblogs.com)如果Bitmap.Save()方法生成的是24位深图片,需要先做位数转换。可参考 彩色/灰色Bmp转单色-johngeng-博客园(cnblogs.com) 通过上述转换得到单色bmp图片后,却无法打印出二维码;而用系统自带的画图软件另存为单色bmp图,是可以打印的BMP文件结构可参考 BMP图像文件完全解析-知乎(zhihu.com)于是用UltraEdit打开两

Python图像库(PIL),如何将图像压缩成所需的文件大小?

我要求压缩任何文件大小小于500kb的上传图片,我在谷歌上搜索过,我能看到的是:>>>foo=foo.resize((160,300),Image.ANTIALIAS)>>>foo.save("path\\to\\save\\image_scaled.jpg",quality=95)如果我采用这种方法,我将不得不检查图像在压缩后是否小于500kb,如果不是,则采用较低的质量和尺寸。有更好的方法吗? 最佳答案 JPEG压缩无法事先预测。你描述的方法,压缩&测量&再试,是我知道的唯一方法。您可以尝试压缩一些具有不同质量设置的典型图像,以

python - 如何将三个列表压缩到一个嵌套的字典中

我有三个列表:z1=['A','A','B','B']z2=['k1','k2','k1','k2']z3=['v1','v2','v3','v4']当我写的时候:print(dict(zip(z2,z3)))这是我的输出:{'k2':'v4','k1':'v3'}我希望这样:{'A':{'k1':'v1','k2':'v2'},'B':{'k1':'v3','k2':'v4'}}你能告诉我怎样才能得到我预期的结果吗? 最佳答案 函数zip()可以接受两个以上的迭代。所以你可以使用zip(z1,z2,z3)而不是zip(z2,z3)

python - 使用 python 解压缩 .gz 文件的一部分

所以问题来了。我有大约60KB大小的sample.gz文件。我想解压这个文件的前2000个字节。我遇到了CRC校验失败错误,我猜是因为gzipCRC字段出现在文件末尾,它需要整个gzip文件才能解压缩。有办法解决这个问题吗?我不关心CRC检查。即使我因为错误的CRC而无法解压,也没关系。有没有办法解决这个问题并解压缩部分.gz文件?我目前的代码是importgzipimporttimeimportStringIOfile=open('sample.gz','rb')mybuf=MyBuffer(file)mybuf=StringIO.StringIO(file.read(2000))f

python - 如何将 csv 文件直接压缩成 zip 存档?

我正在使用以下代码动态生成许多csv文件:importcsvfieldnames=['foo1','foo2','foo3','foo4']withopen(csvfilepath,'wb')ascsvfile:csvwrite=csv.DictWriter(csvfile,delimiter=',',fieldnames=fieldnames)csvwrite.writeheader()forrowindata:csvwrite.writerow(row)为了节省空间,我想压缩它们。使用gzip模块非常简单:withgzip.open("foo.gz","w")ascsvfile:c

python - 解开在 Python 2.5 中 pickle 的数据,在 Python 3.1 中然后使用 zlib 解压缩

在Python2.5中,我使用以下代码存储数据:defGLWriter(file_name,string):importcPickleimportzlibdata=zlib.compress(str(string))file=open(file_name,'w')cPickle.dump(data,file)它运行良好,我能够通过反向执行该过程来读取该数据。它不需要是安全的,只是一些人眼无法读取的东西。如果我将“test”放入其中,然后打开它创建的文件,它看起来像这样:S'x\x9c+I-.\x01\x00\x04]\x01\xc1'p1.由于各种原因,我们现在被迫使用Python3.

python - 如何在不压缩文件的情况下估计文件的可压缩性?

我在存储文件的扭曲python中使用基于事件循环的服务器,我希望能够根据文件的可压缩性对文件进行分类。如果他们从压缩中获益的可能性很高,他们会转到打开了btrfs压缩的目录,否则他们会转到其他地方。我不需要确定-80%的准确率就足够了,而且会节省大量磁盘空间。但由于也存在CPU和fs性能问题,我不能只保存压缩的所有内容。文件以低兆字节为单位。我无法在不使用大量CPU并过度延迟事件循环或重构压缩算法以适应事件循环的情况下测试压缩它们。是否有任何最佳实践可以快速估算可压缩性?我想到的是从文件开头获取一小块(几kB)数据,对其进行测试压缩(可能会有可容忍的延迟)并以此为基础做出决定。有什么建

python - 如何在 Python 中读取压缩文件夹中的文本文件

我有一个压缩数据文件(全部在一个文件夹中,然后压缩)。我想在不解压缩的情况下阅读每个文件。我尝试了几种方法,但无法在zip文件中输入文件夹。我应该如何实现?zip文件中没有文件夹:withzipfile.ZipFile('data.zip')asz:forfilenameinz.namelist():data=filename.readlines()只有一个文件夹:withzipfile.ZipFile('data.zip')asz:forfilenameinz.namelist():iffilename.endswith('/'):#HereiswhatIwasstucked

python - marisa trie 后缀压缩?

我正在使用thismarisatrie的自定义Cython包装器作为键值multimap的库。我的trie条目看起来像key0xffdata10xffdata2将key映射到元组(data1,data2)。data1是可变长度的字符串,但data2始终是4字节无符号整数。0xff是一个分隔符字节。我知道从理论上讲,trie并不是最佳的数据结构,但各种实际考虑使它成为最佳选择。在这个用例中,我有大约10-20百万个键,每个键平均有10个数据点。data2对于许多条目来说是多余的(在某些情况下,对于给定键的所有数据点,data2始终相同),所以我想到了采用最频繁的data2条目并向每个键添

python - 如何构造解压缩以空字符结尾的字符串?

我使用tcp将数据发送到python服务器。数据是这样的:structprotocol{unsignedcharprot;intid;charname[32];}查看name字段,它是一个空终止字符串,最大长度为32。现在我使用strcpy。protocolp;memset(&p,0,sizeof(p));strcpy(name,"abc");现在我使用python解压它。prot,id,name=struct.unpack("@Bi32s")现在len(name)是32。但我需要在长度为3时获取"abc"的字符串。我该怎么做? 最佳答案