Расширенные возможности обрезки и изменения размера изображения в Flex - PullRequest
1 голос
/ 26 апреля 2011

Я создал инструмент обрезки изображений в flex, используя основной метод copyPixel.

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?

Ответы [ 2 ]

1 голос
/ 26 апреля 2011

То, что вы называете «искажением», - это, вероятно, то, что вы подразумеваете под пикселизацией. Причина, по которой этот сайт может увеличиваться без пикселизации, заключается в том, что для отображения графики используются векторные фигуры, а не растровые изображения. Векторные фигуры можно масштабировать бесконечно без потери качества, потому что они не хранят информацию о пикселях, но сплайновую информацию.

По сути, если вы хотите имитировать масштабирование показанного вами веб-сайта, вам придется создать собственную векторную форму. Вы можете использовать Flex 4 в формате FXG или использовать что-то вроде Degrafa , если вы все еще во Flex 3. Вы также можете использовать Flash Catalyst для импорта вектора графика, сделанная на иллюстрации в Flex.

0 голосов
/ 27 апреля 2011

Я не уверен в этом, но это сделано в VectorMagic , возможно, они используют серверную сторону любыми способами, вы также можете заинтересоваться Actionscript SVG рендерер

Надежды, которые помогают

...