1

我使用核心 copyPixel 方法在 flex 中创建了一个图像裁剪工具。

croppedBitmapData.copyPixels(croppedBitmapData, clipCan, new Point(0, 0));

我必须裁剪 20*20 的 demention 区域,并在 demention 250*350 的图像中显示这个裁剪区域。一切顺利。我的问题是图像失真。

即使我正在使用这种方法来平滑图像内容。

private function smoothImage(event:Event):void
{
    var bitmap: Bitmap = ((event.target as Image).content as Bitmap);
    if (bitmap != null) 
    {
     bitmap.smoothing = true;
    }
}

我想得到这个网站的结果。 http://www.yourplayingcards.com/builder/

请帮助我摆脱图像失真。

      Can we show bitmapdata of 20*20 into image of 250*350 without distotion?
4

2 回答 2

1

您所说的“失真”可能就是我认为您所说的像素化。该网站可以在没有像素化的情况下放大的原因是因为它使用矢量形状而不是位图来显示图形。矢量形状可以无限缩放而不会损失质量,因为它不存储像素信息,而是样条信息。

本质上,如果你想模仿你展示的网站的缩放,你将不得不创建自己的矢量形状。您可以使用Flex 4 内置的 FXG 格式,或者如果您仍在使用 Flex 3,则使用Degrafa 之类的东西。您还可以利用Flash Catalyst将在插图中制作的矢量图形导入 Flex。

于 2011-04-26T15:33:30.200 回答
0

我不确定,但它是在VectorMagic中完成的,可能他们也以任何方式使用服务器端,您可能也对Actionscript SVG 渲染器感兴趣

希望有帮助

于 2011-04-27T13:07:04.540 回答