我正在使用 RMagick 将一个大的 PNG 文件裁剪成图块。原始PNG文件是具有透明背景的线条艺术;线条边缘经过 alpha 混合以减少锯齿。瓷砖(也是 PNG 文件)不是 alpha 混合的,它们看起来很难看。如何在图块中保留 Alpha 通道?
这是代码:
big_image = Image.read(png_file)[0]
0.upto(tileset['width'] - 1) do |x|
0.upto(tileset['height'] - 1) do |y|
# Snip the code that sets tile_filename
# Find the region to crop
left = x * 256
# The Y axis goes bottom to top
bottom = tileset['height'] * 256
top = bottom - ((1 + y) * 256)
tile = big_image.crop(left, top, 256, 256)
tile.write(tile_filename)
end
end
我检查了该.alpha?
方法——它对big_image
和都返回 true tile
。我也尝试过调用.alpha(ActivateAlphaChannel)
这两个对象;它没有帮助。