actionscript-3 - 在 Adobe Animate 中从矢量保存高分辨率位图
问题描述
有没有办法让玩家保存游戏的高分辨率图像,同时仍然保持所有效果?例如,我将发光滤镜设置为 2px。当我使用常规的 drawBitmap 时,一切都是像素化的,并且过滤器看起来不太好。所以我开始将影片剪辑放大到两倍大小,然后创建一个两倍大小的位图并保存。但问题是过滤效果被缩小了。例如,如果图像的高度从 400 像素变为 800 像素,则 2 像素滤镜效果现在看起来只有一半大小并且会扭曲所有内容。
我知道这一定是可能的,因为例如,使用全屏功能已经做到了……它将所有内容放大到漂亮的高分辨率,同时保持所有效果相互关联。如何以节省图像的能力捕捉这种效果?(目前使用 jpegencoder)
解决方案
听起来你有一些混叠,所以你需要一个重新采样(混合)功能来修复那些锯齿状的边缘。
一个不错的是: 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 );
推荐阅读
- delphi - 如何将记录数组传递给java函数?
- python - PyQt5: how do I launch a window from a system tray icon context menu?
- php - 从php中的地址获取纬度经度
- php - 在 SELECT LIKE 查询中使用 PHP 变量
- java - jTable 将所有内容排序为字符串
- jquery - HTML 在同一页面上显示来自服务器的结果
- php - 编辑时从下拉列表中显示其他表格数据
- r - 根据向量提供的变量名称和权重创建平均变量
- php - 扩展 PHP ArrayObject 导致错误的下标值
- javascript - 状态改变后如何在react redux组件中显示文本数据?