SWFBitmap(PHP 4 >= 4.0.5) SWFBitmap - загружает Bitmap-объект. Описаниеnew swfbitmap (string filename [, int alphafilename])
swfbitmap() создаёт новый SWFBitmap-объект из Jpeg или DBL файла filename. alphafilename указывает на MSK-файл, используемый как альфа-маска для Jpeg-изображения.
SWFBitmap имеет следующие методы: swfbitmap->getwidth() и swfbitmap->getheight(). Вы не можете импортировать png-изображения напрямую, а должны использовать утилиту png2dbl для создания dbl-файла ("define bits lossless") из png. Смысл этого в том, что нам не нужна зависимость от png-библиотеки в ming - autoconf должен разрешить это, но это ещё не готово. И вы можете поместить alpha-маску на jpeg fill.
|
||||||||||
|
||||||||||
Некоторые элементы, которые могут появляться в патэрнах, работают более эффективно, чем другие. Более эффективно использовать класс символов, такой как [aeiou], нежели набор альтернатив, такой как (a|e|i|o|u). В целом, более простая конструкция является более эффективной. Книга Jeffrey Friedl'а содержит большую дискуссию об оптимизации регулярных выражений для повышения производительности.
Если патэрн начинается с .* и установлена опция PCRE_DOTALL, патэрн неявно
заякоривается PCRE, поскольку он может совпасть только в начале строки-субъекта.
Однако, если PCRE_DOTALL не установлена, PCRE не может выполнить эту оптимизацию,
поскольку метасимвол . не совпадает тогда с символом новой строки/newline, и,
если строку-субъект содержит newlines, патэрн может совпасть с символом, идущим
непосредственно после одного из символов новой строки, вместо того чтобы совпадать
только в самом начале. Например, патэрн
(.*) second
совпадает в субъекте "first\nand second" (где \n это символ новой строки) с первой захваченной подстрокой "and". Для этого PCRE пытается совпадать в начале после каждого символа новой строки в субъекте.
Если вы используете такой патэрн со строками-субъектами, которые не содержат newlines, наилучшая производительность будет достигнута установкой PCRE_DOTALL, или если начать патэрн с ^.* для явного указания заякоривания. Это удержит PCRE от необходимости сканировать субъект в поисках newline для рестарта с него.
Избегайте создания патэрнов, которые содержат бесконечные повторения. Они могут занять много времени, если применить их к строке, которая не содержит совпадений. Рассмотрим фрагмент патэрна
(a+)*
| |