Как стереть область в объекте BitmapData?

От сообщество Набора Корпоративного приложения Python :

"Яйца к Python, как Банки к Java..."

яйца Python являются способом связать дополнительную информацию проектом Python, который позволяет зависимостям проекта быть проверенными и удовлетворенными во времени выполнения, а также проектах разрешения обеспечить плагины для других проектов. Существует несколько двоичных форматов, которые воплощают яйца, но наиболее распространенным является '.egg' zipfile формат, потому что это - удобное для распределительных проектов. Вся поддержка форматов включая определенные для пакета данные, метаданные всего проекта, C расширения и код Python.

основные преимущества Яиц Python:

  • Они включают инструменты как "Легкая Установка" диспетчер пакетов Python

  • , .egg файлы являются "нулевой установкой" формат для пакета Python; никакой шаг сборки или установки требуется, просто поместил их на PYTHONPATH или sys.path и использует их (может потребовать времени выполнения, установленного, если расширения C или файлы данных используются)

  • , Они могут включать метаданные пакета, такие как другие яйца, они зависят от [1 117]

  • , Они позволяют "пакеты пространства имен" (пакеты, которые просто содержат другие пакеты), чтобы быть разделенными на отдельные дистрибутивы (например, zope. , скрученный. , пик.* пакеты могут быть распределены как отдельные яйца, в отличие от нормальных пакетов, которые должны всегда помещаться в соответствии с тем же родительским каталогом. Это позволяет то, что является теперь огромными монолитными пакетами, которые будут распределены как отдельные компоненты.)

  • Они позволяют приложениям или библиотекам определять необходимую версию библиотеки, так, чтобы Вы могли, например, требовать ("скрученный Интернет> =2.0") прежде, чем сделать импорт twisted.internet.

  • Они - большой формат для распределительных расширений или плагинов к расширяемым приложениям и платформам (таким как Trac, который использует яйца для плагинов с 0.9b1), потому что время выполнения яйца обеспечивает простые API, чтобы определить местоположение яиц и найти их рекламируемые точки входа (подобными понятию "точки расширения" Eclipse).

  • существуют также другие преимущества, которые могут прибыть из наличия стандартизированного формата, подобного преимуществам формата "банки" Java.

-Adam

5
задан Amarghosh 11 October 2009 в 10:02
поделиться

2 ответа

Он работает со следующим кодом:

        var shape:Shape = new Shape();
        shape.graphics.beginFill(0x000000, 1); // solid black
        shape.graphics.moveTo(points[0].x, points[0].y);

        points.forEach(function (p:Point, i:int, a:Array):void {
                shape.graphics.lineTo(p.x, p.y);
            });
        shape.graphics.endFill();
        data.draw(shape, null, null, "erase");
10
ответ дан 13 December 2019 в 19:30
поделиться

Для прямоугольника вы можете использовать fillRect. Для многоугольника вам нужно будет нарисовать многоугольник совершенно другим цветом (чем другие цвета в растровом изображении) и использовать floodFill, но я не знаю, как рисовать многоугольник. В классе данных растрового изображения нет метода для рисования линий. Другой вариант - написать собственную логику для поиска пикселей внутри многоугольника и использовать метод setPixel32 для установки их альфа в ноль.

Эта страница википедии описывает алгоритмы, чтобы определить, находится ли точка внутри данного многоугольника. . Возможно, вам это пригодится.

1
ответ дан 13 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: