- 作者帖子
白木游客首先新建一个文本文件tiles.txt,输入以下代码:
url_template: "example.com/my_image/ {{x}}_{{y}}.jpg"
x_template: "x * tile_size"
y_template: "y * tile_size"
variables:
- { name: x, from: 0, to: 2 } # Number of tiles on the x axis
- { name: y, from: 0, to: 3 } # Number of tiles on the y axis
- { name: tile_size, value: 256 }
headers:
Referer: "example.com/ "上面加粗的部分,就是需要根据实际情况修改的部分。
example.com/my_image/ {{x}}_{{y}}.jpg。这部分,需要找到需要下载的碎片图片的源URL地址。
后面的,2和3,就是碎片的横向和纵向分别数字是多少。
而256,是否需要修改,也要看具体情况,一般情况是保留256。
最后Referer:部分,http://example.com/,要修改成那个网页的前面的网址。
保存后,把这个tiles.txt后缀改为tiles.yaml
然后cmd命令行输入:
dezoomify-rs tiles.yaml result.jpg
就可以正常下载了。
这是我遇到的一个图片下载问题,最后最快速的一个解决方法。
但美中不足的是,碎片最末的tiles并不是256,导致拼图完成后,有黑块。其实导致这一点的原因,就是碎片大部分是256,但最后一个碎片的步长,并不是正好256导致,只要后期裁剪一下就可以了。
白木游客以上代码是直接来自于官方文档的。yaml具体使用方法,可以参考官方教程:
Dezoomify软件,如何使用,也可以参考官方文档:
之前是一点看不懂代码啥意思,但是参考官方文档后,好歹多少能够理解一点。虽然是英文的。看起来比较费力一些。
参照官方给出的标准代码,复制粘贴,出错率会比较少。
未曾管理员@白木 #42707
如果是要下北京故宮的图的建议参看此帖
new.shuge.org/meet/topic/15543/
白木游客使用这个方法,最后的图像,测试多回,左边和上边,都会留有黑色宽条。
尝试了很多办法,想直接通过dezoomify一次性下载拼成功都失败了。
具体什么原因一直没有找到。
但最后还是能够有效解决,那就是把新合成的图片,用Image Magick裁剪。
代码如下:
magick convert 1.jpg -gravity southeast -crop 7815x8135+0+0 t.jpg
在原始图1.jpg上截取右下角距离下边缘0个像素,右边缘0个像素一块7815*8135大小的图片。
至此,通过dezoomify和Image Magick两个软件搭配使用。
就完成了一整幅图片的下载、拼图、裁剪全过程。
但是不同的站点,具体方案和遇到的问题是不一样的。仅供参考。
正音悉达游客有黑条
是因为yaml里面定义图片宽度和高度的参数不对
dezoomify是非常机械的,要是你的参数大于实际大小就会这样,没请求到的图片碎片就是黑色的
白木游客@正音悉达 #42752
那有没有办法,直接修改yaml文件,下载拼图直接一步到位没有黑条呢?
我做了几次尝试,尝试修改x_template和y_template参数,但是都失败了。
甚至尝试过,只下载和拼256*256的碎片块,但结果拼出来左边和上边,仍然是有黑条。
- 作者帖子
正在查看 6 个帖子:1-6 (共 6 个帖子)
正在查看 6 个帖子:1-6 (共 6 个帖子)
正在查看 6 个帖子:1-6 (共 6 个帖子)