首页 > 解决方案 > 在 Adob​​e Animate 中从矢量保存高分辨率位图

问题描述

有没有办法让玩家保存游戏的高分辨率图像,同时仍然保持所有效果?例如,我将发光滤镜设置为 2px。当我使用常规的 drawBitmap 时,一切都是像素化的,并且过滤器看起来不太好。所以我开始将影片剪辑放大到两倍大小,然后创建一个两倍大小的位图并保存。但问题是过滤效果被缩小了。例如,如果图像的高度从 400 像素变为 800 像素,则 2 像素滤镜效果现在看起来只有一半大小并且会扭曲所有内容。

我知道这一定是可能的,因为例如,使用全屏功能已经做到了……它将所有内容放大到漂亮的高分辨率,同时保持所有效果相互关联。如何以节省图像的能力捕捉这种效果?(目前使用 jpegencoder)

标签: actionscript-3flashresolutiondrawbitmapadobe-animate

解决方案


听起来你有一些混叠,所以你需要一个重新采样(混合)功能来修复那些锯齿状的边缘。

一个不错的是: Jozef Chúťka 的Lanczos Resampler

该演示代码的重要部分是LanczosBitmapDataResizer大约向下滚动页面的一半的类代码。

import flash.display.BitmapData;
import flash.utils.Dictionary;

class LanczosBitmapDataResizer
{ ...etc etc...

并通过更新访问它BitmapData

new_smooth_BMD = LanczosBitmapDataResizer.resize( old_pixelated_BMD, 227, 227 );

推荐阅读