Реализация OpenVG? [закрытый]

Предупреждение: [fункция] ожидает, что параметр 1 будет ресурсом, boolean задан

(более общий вариант Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет resource, boolean given )

Ресурсы - это тип в PHP (например, строки, целые числа или объекты). Ресурс является непрозрачным блобом без собственной значимой ценности. Ресурс специфичен и определен определенным набором функций или расширений PHP. Например, расширение Mysql определяет два типа ресурсов :

В модуле MySQL есть два типа ресурсов. Первый - идентификатор ссылки для подключения к базе данных, второй - ресурс, который содержит результат запроса.

Расширение cURL определяет другой два типа ресурсов :

... дескриптор cURL и мультирум cURL.

Когда var_dump ed значения выглядят так:

$resource = curl_init();
var_dump($resource);

resource(1) of type (curl)

Это все большинство ресурсов - это числовой идентификатор ((1)) определенного типа ((curl)).

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


«... ожидает, что параметр 1 будет ресурсом, логическим данная "ошибка, как правило, является результатом непроверенной операции, которая должна была создать ресурс, но вместо этого вернула false. Например, функция fopen имеет это описание:

Возвращаемые значения

Возвращает ресурс указателя файла при успешном выполнении или FALSE

Таким образом, в этом коде $fp будет либо resource(x) of type (stream), либо false:

$fp = fopen(...);

Если вы не операция fopen будет успешной или неудачной и, следовательно, будет ли $fp действительным ресурсом или false и передать $fp другой функции, которая ожидает ресурс, вы можете получить вышеуказанную ошибку:

$fp   = fopen(...);
$data = fread($fp, 1024);

Warning: fread() expects parameter 1 to be resource, boolean given

Вам всегда нужно проверять возвращаемое значение функций, которые пытаются выделить ресурс , и может выйти из строя :

$fp = fopen(...);

if (!$fp) {
    trigger_error('Failed to allocate resource');
    exit;
}

$data = fread($fp, 1024);

Связанные ошибки:

26
задан 4 revs, 3 users 47% 29 March 2016 в 15:49
поделиться

5 ответов

Я работал с OpenVG немного, и нет большого количества реализаций там. Я, оказывается, использую ShivaVG, который использует OpenGL, но это не было обновлено в некоторое время Некоторых других реализациях, включайте:

  • ссылочная реализация (я нашел, что он является невероятно медленным; однако, нет никаких других, которые в настоящее время являются до 1,1 все же (стандарт OpenVG 1.1 вышел в начале декабря)

  • GingkoVG - двоичный файл только, и использует его собственную систему управления окнами (но эй, все они делают так или иначе).

  • AmanithVG - коммерческий; взгляды довольно полируются. Я думаю там используемый быть бесплатной версией, но я, может казаться, не нахожу его.

  • KompazzVG/AntigrainVG - реализация с помощью AGG; большие взгляды, но автор публично не выпустили кода, хотя существует стройплощадка и таинственная соединительная линия svn.

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

Лично, я считал бы ShivaVG лучшим просто, потому что он поддерживает достаточно функций, чтобы сделать большинство вещей, и это быстро. Существуют некоторые незакрепленные ошибки, но эй, исходный код открыт.

Кстати, сайт SF для ShivaVG здесь ; Вы, вероятно, хотели бы использовать магистральную версию, не пронумерованный выпуск, потому что это немного более актуально. Также соединительная линия KompazzVG могла бы быть здесь .

21
ответ дан 28 November 2019 в 07:52
поделиться

AmanithVG SRE (механизм растеризации программного обеспечения) и GLE (ES OpenGL помог механизму растеризации) boths реализует целый OpenVG 1.1 и набор функций OpenVG 1.0.1.

сборки Оценки обоих механизмов доступны для скачивания на веб-сайт AmanithVG .

AmanithVG внутренние результаты testsuite, а также тестовые источники, доступны для просмотра в , GLE тестирует страницу и тестовая страница .

SRE AmanithVG SRE, и GLE доступны для следующих целевых платформ:

Windows 2000 / XP / Vista, на x86, x86_64;

Windows CE / Мобильный, на ARM v5, v6 (с или без VFP);

MacOS X 10.4 / 10.5, на PowerPC, Intel (Универсальный Двоичный файл);

Linux 2.6.x, на x86, x86_64, PowerPC, ARM v5, v6 (с или без VFP), SH4;

QNX 6.4.x на x86, PowerPC, ARM v6, SH4.

1
ответ дан mfabbri 28 November 2019 в 07:52
поделиться

Спасибо за сообщения. D L, Ваш список является очень всесторонним, поскольку просто нет так очень там для поддержки OpenVG в это время. Еще одна реализация, которую я нашел, была:

  • Zack Rusin: OpenVG - Это реализации создается с реализацией OpenGL QT. Как с ShivaVG, это не было обновлено долгое время, но это - также открытый исходный код.

я собираюсь обнародовать это и надеяться, что мы получаем больше обратной связи в будущем на других реализациях.

0
ответ дан Fostah 28 November 2019 в 07:52
поделиться

Похож никто не знает много об этом, и я признаюсь, что не делаю также. Я так же ограничен Google как любой. Первые места для взгляда, казалось бы, были бы Khronos и Википедия

-2
ответ дан bugmagnet 28 November 2019 в 07:52
поделиться

MonkVG - это реализация API векторной графики, подобная OpenVG 1.1, в настоящее время использующая серверную часть OpenGL ES, которая должна быть совместима с любым HW, поддерживающим OpenGL ES 2.0, включая большинство устройств iOS и Android.

Это проект с открытым исходным кодом под лицензией BSD, который находится в активной разработке. На момент написания этой статьи он находится на очень ранней стадии предварительного выпуска (реализовано очень минимальное количество функций). Авторы и спонсоры приветствуются.

Его можно найти на GitHub http://github.com/micahpearlman/MonkVG

9
ответ дан 28 November 2019 в 07:52
поделиться
Другие вопросы по тегам:

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