我使用核心copyPixel方法在flex中创建了一个图像裁剪工具。
croppedBitmapData.copyPixels(croppedBitmapData,clipCan,new Point(0,0));
我必须以20 * 20的方式对该区域进行处理,并以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?
答案 0 :(得分:1)
你所谓的'失真'可能是我认为你的意思是像素化。该网站可以在没有像素化的情况下放大的原因是因为它使用矢量形状而不是位图来显示图形。矢量形状可以缩放无限而不会降低质量,因为它不存储像素信息,而是存储样条信息。
从本质上讲,如果您想模仿您所显示的网站的缩放,您将必须创建自己的矢量形状。如果您仍在Flex 3中,则可以使用Flex 4's built in FXG format或使用Degrafa之类的内容。您还可以利用Flash Catalyst将插图中制作的矢量图形导入Flex。
答案 1 :(得分:0)
我不确定这一点,但是它在VectorMagic完成,可能是他们也在使用服务器端,你可能也对Actionscript SVG renderer感兴趣
希望有所帮助