我已经使用核心copyPixel方法在flex中创建了一个图像裁剪工具。
croppedBitmapData.copyPixels(croppedBitmapData,clipCan,新点(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?
发布于 2011-04-26 15:33:30
你所说的“失真”可能就是我想你所说的像素化。该网站可以在没有像素化的情况下放大的原因是因为它使用矢量形状,而不是位图来显示图形。矢量形状可以无限缩放而不损失质量,因为它不存储像素信息,而是样条线信息。
从本质上讲,如果你想模仿你所展示的网站的缩放,你必须创建你自己的矢量形状。如果你还在使用Flex3,你可以使用Flex 4's built in FXG format或者像Degrafa这样的工具。你也可以利用Flash Catalyst将插图中制作的矢量图形导入Flex.
发布于 2011-04-27 13:07:05
我不确定,但这是在VectorMagic中完成的,可能他们也在以任何方式使用服务器端,你也可能对Actionscript SVG renderer感兴趣
希望能有所帮助
https://stackoverflow.com/questions/5789887
复制相似问题