веб-сервер отвечает на? q = "/ path / to / file" с помощью "панели пути" png - PullRequest
9 голосов
/ 14 мая 2011

Я хочу написать скрипт CGI, который принимает путь posix в виде строки и возвращает png, представляющий его.Например:


Если скрипту отправляется строка / System / Library / CoreServices / Finder.app ,

, он вернет следующий png-файл: /System/Library/CoreServices/Finder.app


Пример, основанный на любой скриптовой платформе, поставляемой в комплекте с Mac, мне подходит (Python, Perl, AppleScript, BASH).Возможно, я этого не знаю, но могу разобраться, чтобы понять, что мне нужно делать.

Я думаю, что я ищу способ генерирования виджета в стиле NSPathCell и выгрузки егосодержимое в файл изображения

Ответы [ 4 ]

7 голосов
/ 17 мая 2011

В зависимости от контекста, было бы разумно использовать -dataWithPDFInsideRect: вместо создания PNG.

Конечно, если вы получаете изображение (особенно растровое изображение) элемента пользовательского интерфейса, напримерэто для использования в Интернете, есть 95% вероятность того, что вы заслуживаете удара по лицу от Accessibility Gorilla.

4 голосов
/ 17 мая 2011

Это NSPathControl. Чтобы взять NSString и разделить его на компоненты пути, вы можете вызвать метод -[NSString pathComponents]. Если вы хотите, чтобы фактический png , вам нужно было бы либо выполнить рендеринг самостоятельно, либо взять NSPathControl, заставить его нарисовать контекст, которым вы управляете, а затем самостоятельно превратить этот контекст в изображение .

Большой вопрос: чего вы пытаетесь достичь?

2 голосов
/ 09 августа 2011

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

Так вы могли бы сказать:

<?php echo prettyPathHTML('/System/Library/CoreServices/Finder.app'); ?>
1 голос
/ 09 июня 2013

Вы можете получить данные изображения из пути следующим образом:

1) Создать ' NSPathControl '

2) Использовать элементы управления' setPathCtrl: toURLStr: ' чтобы отобразить выбранный вами URL.

3) Назовите элемент управления ' getPngDataFromNSView: ', и он предоставит вам необходимые данные изображения.

4) Теперь вы можете сохранить данные в файл, используя ' writePngData: '

Если Obj-C не поддерживается, вы можете использовать PyObjC-мост через Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...