使用RMagick裁剪图像可消除抗锯齿

时间:2012-04-19 00:19:49

标签: imagemagick rmagick

我正在使用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_imagetile都返回true。我也尝试在两个对象上调用.alpha(ActivateAlphaChannel);它没有帮助。

0 个答案:

没有答案